加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – ngTable with Checkboxes不选中网格上的所有复选框

发布时间:2020-12-17 09:27:38 所属栏目:安全 来源:网络整理
导读:单击顶部复选框时,如何选中网格上的所有复选框.此时它仅单击当前页面复选框.如果您可以在Plunk上模拟您的解决方案,则非常感谢.谢谢. 这是链接:Table with checkboxes $scope.checkboxes = { 'checked': false,items: {} };// watch for check all checkbox$
单击顶部复选框时,如何选中网格上的所有复选框.此时它仅单击当前页面复选框.如果您可以在Plunk上模拟您的解决方案,则非常感谢.谢谢.

这是链接:Table with checkboxes

$scope.checkboxes = { 'checked': false,items: {} };

// watch for check all checkbox
$scope.$watch('checkboxes.checked',function(value) {
    angular.forEach($scope.users,function(item) {
        if (angular.isDefined(item.id)) {
            $scope.checkboxes.items[item.id] = value;
        }
    });
});
我相信你现在已经想到了这一点,但由于这个问题没有得到解决,我正在寻找一种方法来做这件事我已经更新了你的plunker以供将来参考,如果有人偶然发现这个问题.

http://plnkr.co/edit/PjTlyX?p=preview

有两件事需要考虑,您是否希望检查所有复选框而不管过滤或检查是否需要以过滤器为中心.

如果要忽略对数据源的过滤,请将$scope变量设置为未过滤的列表

var data = [{id: 1,name: "Moroni",age: 50,money: -10},{id: 2,name: "Tiancum",age: 43,money: 120}]
$scope.data = data;

或者如果您希望仅选择已过滤的复选框,则将orderedData设置为$scope.tableParams方法中的另一个$scope变量

var orderedData = params.sorting() ?
                    $filter('orderBy')(data,params.orderBy()) :
                    data;
            orderedData = params.filter() ?
                    $filter('filter')(orderedData,params.filter()) :
                    orderedData;
            $scope.orderedData = orderedData;

然后,您可以通过简单地将$scope.users更改为下面的prefer $scope变量来自由选择您喜欢的复选框

// watch for check all checkbox
$scope.$watch('checkboxes.checked',function(item) {
        if (angular.isDefined(item.id)) {
            $scope.checkboxes.items[item.id] = value;
        }
    });
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读