同样,简单的事情,Angular变得复杂。
我有一些复选框:
<!-- $scope.checked == true -->
<li ng-repeat="(type, description) in types">
<input type="checkbox" ng-checked="checked">
</li>
我不在乎他们是否被检查 - 可以检查另一个未经检查。我只想在相应的控制器中触发“全部检查”。
令我感到困惑的是,网上的一些方法似乎采用了5行以上的代码......怎么可能。对于这么简单的事情,5条以上的行就算了,不要忘了。
所有建议都表示赞赏。
修改
仍然没有工作的人,这是我的控制器代码:
$scope.checked = true;
$scope.checkAll = function()
{
$scope.checked = true;
};
$scope.submitForm = function()
{
$scope.checkAll();
// other stuff...
};
如果选中了一个复选框而另一个未选中,则submitForm()
答案 0 :(得分:1)
问题是被检查总是“真实”。你并没有真正改变价值。
相反,你可以算数,因为1,2,3都是不同的,但都是真的。虽然觉得有点hacky。
$scope.checked = 1;
$scope.checkAll = function()
{
$scope.checked++;
};
答案 1 :(得分:0)