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

angularjs实现checkbox的点击-全选功能-选中数据

发布时间:2020-12-17 07:06:29 所属栏目:安全 来源:网络整理
导读:简单思路: (1)在全选的checkbox上的ng-model设置一个值all,该值在checkbox未选中时为false,选中时为true; (2)列表项的checkbox的ng-checked设置为all,即all为true列表的各项全部选中,否则都不选中; (3)同时给列表各项的checkbox的ng-model设置
简单思路:
(1)在全选的checkbox上的ng-model设置一个值all,该值在checkbox未选中时为false,选中时为true;
(2)列表项的checkbox的ng-checked设置为all,即all为true列表的各项全部选中,否则都不选中;
(3)同时给列表各项的checkbox的ng-model设置为各数据项的属性isChecked,该属性为前端处理后台数据时主动加上的,用于区分单项是否选中;
(4)再分别给全选及各个列表项的checkbox加上点击事件;
(5)全选的点击事件处理:all为true,map遍历列表项数据的isChecked都设置为true;all为false,map遍历列表项数据的isChecked都设置为false;
(6)各单项的点击事件处理:当前项的isChecked为true,点击之后设置为false;当前项的isChecked为false,点击之后设置为true;
(7)filter过滤出列表数据中isChecked为true的数据

<table>
    <thead>
          <tr>
             <th><input type="checkbox"  ng-model="all" ng-click="selectAllItems(all)" ></th>                                           
          </tr>
     </thead>
     <tbody>
          <tr ng-repeat="item in list">
             <td><input type="checkbox" ng-checked="all" ng-modle="item.isChecked" ng-click="selectItems(item)"></td>
          </tr>
     </tbody>
</table>

?

$scope.selectAllItems = selectAllItems;
$scope.selectItems = selectItems;
$scope.getSelectData= getSelectData;
// 全选
function selectAllItems(all,e){
   all ? $scope.list.map(item => item.isChecked = true) : $scope.list.map(item => item.isChecked = false)
}
// 依次选
function selectItems(item,e) {
  if(item.isChecked){
     item.isChecked = false;
   } else {
     item.isChecked = true;
   }
}
// 选中数据
function getSelectData() {
   const selectData = $scope.list.filter(item => item.isChecked);
  console.log(selectData)
}

(编辑:李大同)

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

    推荐文章
      热点阅读