同样,如此简单的事情,Angular 却变得复杂了。
我有一些复选框:
<!-- $scope.checked == true -->
<li ng-repeat="(type, description) in types">
<input type="checkbox" ng-checked="checked">
</li>
我不在乎它们是否被检查 - 一个可以检查另一个不检查。我只是想从相应的 Controller 内触发“检查全部”。
令我困惑的是,网上的一些方法似乎需要 5 行以上的代码..怎么可能呢。这么简单的事情就需要 5 行以上的代码,算了吧。
感谢所有建议。
编辑:
仍然没有工作,这是我的 Controller 代码:
$scope.checked = true;
$scope.checkAll = function()
{
$scope.checked = true;
};
$scope.submitForm = function()
{
$scope.checkAll();
// other stuff...
};
如果选中一个复选框而未选中另一个复选框,则 submitForm()
不会发生任何事情
最佳答案
问题是检查总是“true”。您并没有真正改变该值。
相反,您可以向上数,因为 1、2、3 都不同,但都是真实的。不过感觉有点老套。
$scope.checked = 1;
$scope.checkAll = function()
{
$scope.checked++;
};
关于javascript - Angular 检查所有复选框,无论其状态如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36496949/