Angular检查所有复选框,无论其状态如何

时间:2016-04-08 10:10:24

标签: javascript angularjs checkbox

同样,简单的事情,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()

上没有任何操作

2 个答案:

答案 0 :(得分:1)

问题是被检查总是“真实”。你并没有真正改变价值。

相反,你可以算数,因为1,2,3都是不同的,但都是真的。虽然觉得有点hacky。

$scope.checked = 1;

$scope.checkAll = function()
{
    $scope.checked++;
};

答案 1 :(得分:0)

在你的控制器中添加

$scope.checkall = function(){
$scope.checked=true
}
$scope.checkall()

See Fiddle