如果选中至少一个复选框,应该启用Angular JS + Button如何执行此操作?

Tri*_*hak 2 angularjs

我想要一个仅在选中一组复选框中的一个时才启用的按钮,类似于http://jsfiddle.net/chriscoyier/BPhZe/76中的小提琴:

var checkboxes = $("input[type='checkbox']"),
    submitButt = $("input[type='submit']");

checkboxes.click(function() {
    submitButt.attr("disabled", !checkboxes.is(":checked"));
});
Run Code Online (Sandbox Code Playgroud)

我想用AngularJs来实现它.

jsp*_*rks 5

向控制器添加一个函数,用于检查是否选中了任何复选框.如果选中单选按钮,则其值为true.然后,在HTML中使用按钮上的ng-disabled指令并将其设置为等于函数的结果.例:

控制器:

$scope.isCheckboxChecked = function() {
    return ($scope.checkbox1 || $scope.checkbox2 || $scope.checkbox3);
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<button type="button" ng-disabled="!isCheckboxChecked()">My Button</button>
Run Code Online (Sandbox Code Playgroud)

如果您发布了您已尝试过的代码,将会很有帮助.我的答案是假设您已经使用ng-model指令设置了功能复选框,并且只是在检查任何选项时是否正在查找如何禁用该按钮.

更新:

如果您还没有绑定到控制器的复选框,这是一个示例.请注意使用ng-model绑定到作用域中的$ scope.checkbox1或$ scope.checkbox2变量.

<input type="checkbox" ng-model="checkbox1">Checkbox 1
<input type="checkbox" ng-model="checkbox2">Checkbox 2
Run Code Online (Sandbox Code Playgroud)