gpt4 book ai didi

javascript - Angularjs 1.5.8 - 2 级 ng-repeat 内的单选按钮列表无法正常工作

转载 作者:行者123 更新时间:2023-11-30 11:53:00 25 4
gpt4 key购买 nike

请检查下面的代码,

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>

我试图在 2 级 ng-repeat 中实现一对单选按钮。我可以检查单选按钮,值按预期更改。但是如果值是从控件分配的,则只有最后一对单选按钮得到更新。当我将版本更改为 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>

代码或其他替代方案是否有问题?

最佳答案

我认为唯一的问题是单选按钮名称存在冲突,因此如果您将单选按钮代码替换为以下代码:

    <input type='radio' name='driverGender{{$index}}{{$parent.$index}}0' value='M' ng-model='driver.gender' />F
<input type='radio' ng-model='driver.gender' name='driverGender{{$index}}{{$parent.$index}}1' value='F' />

工作演示请引用plnkr: https://plnkr.co/edit/GKtCRtunNrvLiksbCuXE?p=preview

关于javascript - Angularjs 1.5.8 - 2 级 ng-repeat 内的单选按钮列表无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38919278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com