ng-重复循环复选框
ng-repeat loop on checkboxes
<span ng-repeat="s in colors">
<p><li><input type="checkbox" ng-model="colors[id].checked" ng-change="setColor(s.id)"> {{s.name}}</li></p>
</span>
在我的控制器中,
$scope.colorsel= [];
$scope.setColor = function(a){
if($scope.colorsel.indexOf(a) == -1 ){
$scope.colorsel.push(a);
}
else{
var index = $scope.colorsel.indexOf(a)
$scope.colorsel.splice(index,1);
}
}
我正确获取了颜色值。但是如果我选择一个复选框,它只是显示所有复选框都被选中(意味着勾号出现在所有复选框中,但它只接受在 colorel 数组中选择的复选框的 id(。如果我选择另一个,所有的刻度线都会消失。请帮我解决这个问题。
只需直接引用对象:ng-model="s.checked"
。
这:colors[id].checked
是错误的,因为你引用了相同的id(也许 s.id colors[s.id].checked
是你正在尝试的(。因此,如果您的控制器中有$scope.id = 2
,那么您总是引用colors[2].checked
。
试试这个
<span ng-repeat="s in colors">
<p>
<input type="checkbox" ng-model="s[id].checked" ng-change="setColor(s.id)"> {{s.name}}
</p>
</span>
ng-repeat="s in colors"
与foreach(s in colors)
相似因此,如果要从颜色访问值,则需要使用"S"代替颜色。
相关文章:
- ng-重复循环复选框
- 我的复选框没有't使用的循环来显示数据
- 如何循环访问页面上的所有复选框
- 循环浏览页面上所有选中的复选框并将id拉入数组不起作用
- JsViews复选框从内部循环绑定
- 循环通过选中的复选框并创建多维数组
- 循环的javascript checkall/uncheckall复选框
- 如何在javascript循环中选中复选框
- LiveCycle:在动态复选框中循环
- 将关联的 ID 添加到 for 循环中的复选框
- 循环遍历数组以选中复选框
- Javascript:创建循环以连接选中复选框的结果
- 循环检查选中的复选框,然后显示结果
- 如何选中每个循环中的复选框
- 循环访问表格以检查已单击的复选框
- 我想使用 for 循环来获取 jquery 中复选框和文本框的 id
- JavaScript 中的循环 html 复选框
- 从复选框循环循环遍历 json 对象
- 循环浏览表格,找到选中的span class+复选框以弹出确认框
- 在复选框循环组中至少选择一个复选框