AngularJS 1.5.8-2个级别的ng-repeat中的单选按钮列表无法正常工作

吉图·拉詹(Jithu Rajan)

请检查以下代码,

angular.module('myApp', []).controller('myController', ['$scope',
  function($scope) {
    setTimeout(function() {
      $scope.policies = [{
        drivers: [{
          gender: 'M'
        }, {
          gender: 'F'
        }]
      }, {
        drivers: [{
          gender: 'M'
        }, {
          gender: 'F'
        }]
      }];
      $scope.$apply();
    }, 1000)

  }
]);
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.8/angular.js"></script>

<div ng-app='myApp'>
  <div ng-controller='myController'>
    <div ng-repeat='policy in policies'>
      <div ng-repeat='driver in policy.drivers'>
        Gender : M
        <input type='radio' name='driverGender{{$index}}{{$parent.$index}}' value='M' ng-model='driver.gender' />F
        <input type='radio' ng-model='driver.gender' name='driverGender{{$index}}{{$parent.$index}}' value='F' />
      </div>
    </div>
  </div>
</div>

我试图在ng-repeat的2个级别内实现一对单选按钮。我可以检查单选按钮,值会按预期更改。但是,如果值是从控件分配的,则只有最后一对单选按钮会更新。当我将版本更改为1.2.0时,它可以正常工作。请检查下面的样本

angular.module('myApp', []).controller('myController', ['$scope',
  function($scope) {
    setTimeout(function() {
      $scope.policies = [{
        drivers: [{
          gender: 'M'
        }, {
          gender: 'F'
        }]
      }, {
        drivers: [{
          gender: 'M'
        }, {
          gender: 'F'
        }]
      }];
      $scope.$apply();
    }, 1000)

  }
]);
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.0/angular.js"></script>

<div ng-app='myApp'>
  <div ng-controller='myController'>
    <div ng-repeat='policy in policies'>
      <div ng-repeat='driver in policy.drivers'>
        Gender : M
        <input type='radio' name='driverGender{{$index}}{{$parent.$index}}' value='M' ng-model='driver.gender' />F
        <input type='radio' ng-model='driver.gender' name='driverGender{{$index}}{{$parent.$index}}' value='F' />
      </div>
    </div>
  </div>
</div>

代码或任何其他替代方法有问题吗?

吉图·拉詹(Jithu Rajan)

最后,我找到了一个解决方案。而不是'driverGender{{$index}}{{$parent.$index}}'我创建了返回相同函数的函数。

$scope.getRadioButtonName=function(index,parentIndex){
  return 'gender'+index+parentIndex;
}

在下面检查。

// Code goes here
angular.module('myApp', []).controller('myController', ['$scope',
  function($scope) {
   
      $scope.policies = [{
        drivers: [{
          gender: 'M'
        }, {
          gender: 'F'
        }]
      }, {
        drivers: [{
          gender: 'M'
        }, {
          gender: 'F'
        }]
      }];
     
    $scope.getRadioButtonName=function(index,parentIndex){
      return 'gender'+index+parentIndex;
    }
  }
]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.min.js"></script>

<div ng-app='myApp'>
  <div ng-controller='myController'>
    <div ng-repeat='policy in policies'>
      <div ng-repeat='driver in policy.drivers'>
        Gender : M
        <input type='radio' ng-model='driver.gender' name='{{getRadioButtonName($index,$parent.$index)}}' value='M' />F
        <input type='radio' ng-model='driver.gender' name='{{getRadioButtonName($index,$parent.$index)}}' value='F' />
      </div>
    </div>
  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有两个单选按钮的angularjs ng-repeat无法正常运行

来自分类Dev

AngularJs排序顺序在ng-repeat中无法正常工作

来自分类Dev

Tbody中的AngularJS ng-repeat无法正常工作

来自分类Dev

Tbody中的AngularJS ng-repeat无法正常工作

来自分类Dev

AngularJs ng-repeat无法正常工作

来自分类Dev

angularjs在ng-repeat列表中显示最后5个项目

来自分类Dev

未选中嵌套ng-repeat中的Angularjs单选按钮

来自分类Dev

AngularJS:$ http加载页面ng-repeat无法正常工作

来自分类Dev

AngularJs将2个键相似数组合并为1个ng-repeat

来自分类Dev

AngularJS:单选按钮上的ng-repeat

来自分类Dev

AngularJS ng-repeat单选按钮列表:选定的单选返回未定义的值

来自分类Dev

R:从5个元素的组合的数据帧中提取内部较高级别的组合(1、2、3和4个元素的组)

来自分类Dev

如何重复序列:r中的1,2,3,4,5,6,1,2,3,4,5,6,7,8,9,10,7,8,9,10

来自分类Dev

数据库值为 ["", "5", "1", "2", "8", "6", "9"] 在 Rails Console 中显示为 "[\"\", \"5\", \"1\"、\"2\"、\"8\"、\"6\"、\"9\"]"?

来自分类Dev

C中{0,1,2,3,4,5,6,7,8,9}外的条件

来自分类Dev

AngularJS orderBy在ng-repeat中无法按预期工作

来自分类Dev

AngularJS orderBy在ng-repeat中无法按预期工作

来自分类Dev

ng-show指令在angularjs中无法正常工作

来自分类Dev

Ng-change在angularjs中无法正常工作

来自分类Dev

如何在AngularJS(ng-repeat)中获取选定的单选按钮数据

来自分类Dev

使用ng-repeat AngularJS中的ICheck单选按钮获取选定的索引

来自分类Dev

使用simplejson在python深处的json文件中返回5个级别的值

来自分类Dev

AngularJS表单通过单选按钮和ng-repeat验证

来自分类Dev

使用ng-repeat处理单选按钮-AngularJS

来自分类Dev

AngularJS - ng-repeat 多个单选按钮组,数组的值

来自分类Dev

AngularJS:ng-keypress无法正常工作

来自分类Dev

AngularJS-禁用ng无法正常工作

来自分类Dev

AngularJS ng-show无法正常工作

来自分类Dev

angularjs ng-show无法正常工作

Related 相关文章

  1. 1

    带有两个单选按钮的angularjs ng-repeat无法正常运行

  2. 2

    AngularJs排序顺序在ng-repeat中无法正常工作

  3. 3

    Tbody中的AngularJS ng-repeat无法正常工作

  4. 4

    Tbody中的AngularJS ng-repeat无法正常工作

  5. 5

    AngularJs ng-repeat无法正常工作

  6. 6

    angularjs在ng-repeat列表中显示最后5个项目

  7. 7

    未选中嵌套ng-repeat中的Angularjs单选按钮

  8. 8

    AngularJS:$ http加载页面ng-repeat无法正常工作

  9. 9

    AngularJs将2个键相似数组合并为1个ng-repeat

  10. 10

    AngularJS:单选按钮上的ng-repeat

  11. 11

    AngularJS ng-repeat单选按钮列表:选定的单选返回未定义的值

  12. 12

    R:从5个元素的组合的数据帧中提取内部较高级别的组合(1、2、3和4个元素的组)

  13. 13

    如何重复序列:r中的1,2,3,4,5,6,1,2,3,4,5,6,7,8,9,10,7,8,9,10

  14. 14

    数据库值为 ["", "5", "1", "2", "8", "6", "9"] 在 Rails Console 中显示为 "[\"\", \"5\", \"1\"、\"2\"、\"8\"、\"6\"、\"9\"]"?

  15. 15

    C中{0,1,2,3,4,5,6,7,8,9}外的条件

  16. 16

    AngularJS orderBy在ng-repeat中无法按预期工作

  17. 17

    AngularJS orderBy在ng-repeat中无法按预期工作

  18. 18

    ng-show指令在angularjs中无法正常工作

  19. 19

    Ng-change在angularjs中无法正常工作

  20. 20

    如何在AngularJS(ng-repeat)中获取选定的单选按钮数据

  21. 21

    使用ng-repeat AngularJS中的ICheck单选按钮获取选定的索引

  22. 22

    使用simplejson在python深处的json文件中返回5个级别的值

  23. 23

    AngularJS表单通过单选按钮和ng-repeat验证

  24. 24

    使用ng-repeat处理单选按钮-AngularJS

  25. 25

    AngularJS - ng-repeat 多个单选按钮组,数组的值

  26. 26

    AngularJS:ng-keypress无法正常工作

  27. 27

    AngularJS-禁用ng无法正常工作

  28. 28

    AngularJS ng-show无法正常工作

  29. 29

    angularjs ng-show无法正常工作

热门标签

归档