我正在尝试将条件添加到我的演示.Mean中,当用户从复选框中选择第一个元素name ="bbeser"
时,他无法选择。但在我的情况下,他能够选择原因
这是我的傻瓜
http://plnkr.co/edit/fHdnWwIRgi5jFLQlCWKs?p=preview
$scope.itemCheckedUnCheckedhandler = function (item) {
if (item.name=="bbeser") {
item.checked=false
}
// $scope.checkedItems[index] = !$scope.checkedItems[index];
}
请选择第一个元素,然后查看结果。
答案 0 :(得分:2)
听起来你确实想要在给定条件下禁用该复选框。这将确保用户无法与给定的复选框进行交互。
您可以在模板中执行以下操作:
<ul ng-repeat="item in a">
<li>
<label>
<input type="checkbox"
ng-model="item.checked"
ng-click="handler(item)"
ng-disabled="item.name === 'bbeser'">
{{item.name}}
</label>
</li>
</ul>
当然,如果禁用语句:item.name === 'bbeser'
变得复杂,您应该将其重构为自己的方法。
答案 1 :(得分:1)
您需要使用ng-change而不是ng-click。 ng-click太早了,模型还没有改变。即
<input type="checkbox" class="checkboxposiion"
ng-model="item.checked"
ng-class="{backgrounfimageset : item.checked}"
ng-change="itemCheckedUnCheckedhandler(item)">
<强> Plnkr 强>