0

我有这个代码:

<input type="checkbox" ng-checked="item.selected == 'yes'"  ng-click="change()">{{item.selected}}<br/>

http://jsfiddle.net/NmQXp/2/

如您所见,有三个相同的复选框,它们的选中状态绑定到某个字符串的值。问题是我想为复选框引入一个中间“部分选中”状态。事实上,我想要做的是使用复选框将值从“待处理”更改为“正在进行”,然后更改为“完成”(我正在制作一个待办事项列表)。

如果您多次单击其中一个,您可以在其他中看到正确的行为,但在您单击的那个中检查的状态是错误的。

¿ 这是 Angular Binding 中的错误,还是我遗漏了什么?

4

1 回答 1

2

好吧,我试图修复您的小提琴以解决已检查的问题。行为不一致,因为由于默认 HTML 行为,当鼠标单击它时会检查复选框。我添加了这些行以防止复选框的默认行为。

 if ($scope.item.selected == 'no') {
            $scope.item.selected = 'halfway';
            $event.preventDefault();
        }

这是更新的小提琴。

http://jsfiddle.net/cmyworld/J27jN/

于 2013-07-15T02:48:38.490 回答