2016-03-27 29 views
0

çalışmıyor benim kodudur:Açısal JS: girdi [radyo] İşte

sayfa gösterisi
<div ng-controller="TestController"> 
    <input ng-repeat="item in array" ng-model="selected.name" value="{{item.name}}" type="radio"></input> 
</div> 
<script type="text/javascript"> 
    var app = angular.module('app', []); 
    app.controller('TestController', function ($scope) { 
     $scope.array = [{ 
      name: 'lee', 
      seq: 1, 
     }, { 
      name: 'tom', 
      seq: 2, 
     }, { 
      name: 'jack', 
      seq: 3, 
     }]; 

     $scope.selected = $scope.array[0]; 
    }); 
</script> 

, varsayılan radyo kutusu doğrudur kontrol etti. Ama kontrol edilemez ve sadece diğer iki onay kutusu arasında geçiş yapabilir miyim? Bu sorunu nasıl giderebilirim?

cevap

1

ng-yineleme yeni kapsam oluşturun, böylece ana kapsamı belirlemelisiniz.

daha fazla bilgi https://docs.angularjs.org/api/ng/directive/ngRepeat

var app = angular.module('app', []); 
 
    app.controller('TestController', function ($scope) { 
 
     $scope.array = [{ 
 
      name: 'lee', 
 
      seq: 1, 
 
     }, { 
 
      name: 'tom', 
 
      seq: 2, 
 
     }, { 
 
      name: 'jack', 
 
      seq: 3, 
 
     }]; 
 

 
     $scope.selected = $scope.array[0].name; 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="TestController"> 
 
    <div ng-repeat="item in array"> 
 
    <input type="radio" ng-model="$parent.selected" 
 
    ng-value="item.name" > 
 
    </div> 
 
</div>

+0

ng değeri olacaktır için bkz "item.item" dizi [ 'fin', 'fin', 'selam'] gibi ise? –

+0

no. sadece ng-value = "item" kullanın –