我有这段代码:
<input type="checkbox" ng-checked="item.selected == 'yes'" ng-click="change()">{{item.selected}}<br/>
如您所见,有三个相同的复选框,其检查状态绑定到某个字符串的值。问题是我想在复选框中引入一个中间的“部分选择”状态。事实上,我想要做的是使用复选框将值从“挂起”更改为“正在进行”,然后再更改为“完成”(我正在制作待办事项列表)。
如果您多次单击其中一个,您可以在其他人中看到正确的行为,但是您点击的状态中检查的状态是错误的。
¿这是Angular Binding中的错误,还是我错过了什么?
答案 0 :(得分:2)
我试图修复你的小提琴来处理已检查的问题。行为不一致,因为由于默认的HTML行为,在鼠标单击鼠标时会检查复选框。我添加了这些行以防止复选框的默认行为。
if ($scope.item.selected == 'no') {
$scope.item.selected = 'halfway';
$event.preventDefault();
}
这是更新的小提琴。