ng-repeat中的角度无线电值

时间:2013-08-02 17:49:46

标签: javascript angularjs

我是Angular的新手,我正在尝试捕获所选的无线电值,但使用ng-repeat时文档不明确。任何帮助将不胜感激。

<div ng-repeat="item in ed">
  <label for="{{item['code']}}">
    <input ng-change="getPlanTypes()" ng-model="ed" type="radio" id="{{item['code']}}" name="effective_date" value="{{item['code']}}">
    {{item['date']}} </label>
</div>

这是控制器,但我不确定获得所选无线电值的正确方法?

rates.controller('getEffectiveDates', 
    function($scope, $http, $location, myService, localStorageService) {
        myService.effective_dates().then(function(ed) {
        $scope.ed = ed; 
    });

    $scope.getPlanTypes = function() {
        console.log($scope.ed['code']); //Futile attempt that returns undefined
        localStorageService.add('code',$scope.ed['code']);
        $location.path("/plan-types");
    }       
});

2 个答案:

答案 0 :(得分:3)

待办事项

ng-click="getPlanTypes(item.code)"

在您的控制器中,您可以获得值

$scope.getPlanTypes = function (ed) {
    console.log(ed);
}

答案 1 :(得分:0)

http://jsfiddle.net/2LZpv/

HTML

<div ng-app="myApp" ng-controller="getEffectiveDates">
<div ng-repeat="item in ed">
  <label for="{{item['code']}}">
      <input ng-click="getPlanTypes(item)" ng-model="ed" type="radio" id="{{item['code']}}" name="effective_date" value="{{item['code']}}"/>
    {{item['date']}} </label>
</div>
</div>

JS

angular.module("myApp",[]).controller('getEffectiveDates', ["$scope", function($scope) {

    $scope.ed = [{code:'1',date:"test date 1"},{code:'2',date:"test date 2"}];

    $scope.getPlanTypes = function(selectedItem) {
        console.log(selectedItem["code"]); //Feeble attempt that returns undefined
    }       
}]);