javascript - Angularjs 检查范围内的所有内容

标签 javascript angularjs

我希望在一个循环内检查所有复选框。但如何呢?

<section ng-repeat="user in users">

    <p>{{ user.name }}</p>

    <label for="#">
        <input type="checkbox" ng-click="checkAllRoles(user)"> CHECK ALL
    </label>

    <ul>
        <li ng-repeat="role in user.roles">
            <input type="checkbox" value="{{ role.id }}"> {{ role.name }}
        </li>
    </ul>

</section>

最佳答案

您可以做的是使用 ngChange 处理程序循环遍历所有 Angular 色,更改某些属性,例如绑定(bind)到 ngModel 指令的 checked :

$scope.checkAllRoles = function(user) {
    user.roles.forEach(function(role) {
        role.checked = user.allChecked;
    });
};

HTML 是这样的:

<section ng-repeat="user in users">

    <p>{{ user.name }}</p>

    <label for="#">
        <input type="checkbox" ng-model="user.allChecked" ng-change="checkAllRoles(user)"> CHECK ALL
    </label>

    <ul>
        <li ng-repeat="role in user.roles">
            <input type="checkbox" value="{{ role.id }}" ng-model="role.checked">{{ role.name }}
        </li>
    </ul>

</section>

演示: http://plnkr.co/edit/a3I4DKyz6DRUKTIt50Xj?p=preview

关于javascript - Angularjs 检查范围内的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28704276/

相关文章:

javascript - 在Extjs中,如何从另一个 Controller 调用 View 中的函数?

php - 放大点击的图像,无论其他图像的位置如何

javascript - AngularJS ng-click 创建子范围,但在后续 ng-click 后推送到主范围

javascript - 按名称从指令访问范围变量,避免使用 eval

javascript - 使用 Angular Controller 将 json 数据发布到 mongodb

javascript - 我如何将文本框值传递给 AngularJS 中的 ng-repeat?

javascript - 从 JavaScript 手动触发 iPhone/iPad/iPod 键盘

JavaScript 嵌套显示错误结果

javascript - 当用户停止输入搜索框时执行 api 请求

css - 如何在包括正文在内的所有元素之上附加工具提示?