Angular多选、全选、批量选择操作实例代码


Posted in Javascript onMarch 10, 2017

在前台开发过程中,列表批量选择是一个开发人员经常遇到的功能,列表批量选择的实现方式很多,但是原理基本相同,本文主要来讲AngularJs如何简单的实现列表批量选择功能。

首先来看html代码

<table cellpadding="0" cellspacing="0" border="0" class="datatable table table-hover dataTable">
      <thead>
      <tr>
        <th><input type="checkbox" ng-click="selectAll($event)" ng-checked="isSelectedAll()"/></th>
        <th>姓名</th>
        <th>单位</th>
        <th>电话</th>
      </tr>
      </thead>
      <tbody>
      <tr ng-repeat="item in content">
        <td><input type="checkbox" name="selected" ng-checked="isSelected(item.id)" ng-click="updateSelection($event,item.id)"/></td>
        <td>{{item.baseInfo.name}}</td>
        <td>{{item.orgCompanyName}}</td>
        <td>{{item.baseInfo.mobileNumberList[0].value}}</td>
      </tr>
      </tbody>
    </table>

html里面简单建立一个表格,与批量选择相关的只有两处。

一处是第3行 ng-click="selectAll($event)" ,用来做全选的操作; ng-checked="isSelectedAll() 用来判断当前列表内容是否被全选。

一处是第12行 ng-click="updateSelection($event,item.id) ,用来对某一列数据进行选择操作; ng-checked="isSelected(item.id) 用来判断当前列数据是否被选中。

然后需要在与该页面相对应的controller中实现与批量选择相关的方法

//创建变量用来保存选中结果
          $scope.selected = [];
          var updateSelected = function (action, id) {
            if (action == 'add' && $scope.selected.indexOf(id) == -1) $scope.selected.push(id);
            if (action == 'remove' && $scope.selected.indexOf(id) != -1) $scope.selected.splice($scope.selected.indexOf(id), 1);
          };
          //更新某一列数据的选择
          $scope.updateSelection = function ($event, id) {
            var checkbox = $event.target;
            var action = (checkbox.checked ? 'add' : 'remove');
            updateSelected(action, id);
          };
          //全选操作
          $scope.selectAll = function ($event) {
            var checkbox = $event.target;
            var action = (checkbox.checked ? 'add' : 'remove');
            for (var i = 0; i < $scope.content.length; i++) {
              var contact = $scope.content[i];
              updateSelected(action, contact.id);
            }
          };
          $scope.isSelected = function (id) {
            return $scope.selected.indexOf(id) >= 0;
          };
          $scope.isSelectedAll = function () {
            return $scope.selected.length === $scope.content.length;
          };

controller中主要是对html中用到的几个方法的实现,相对来讲实现代码还是比较简洁易懂的。

多选效果展示如下

Angular多选、全选、批量选择操作实例代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
合并table相同单元格的jquery插件分享(很精简)
Jun 20 Javascript
jQuery查询数据返回object和字符串影响原因是什么
Aug 09 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
Apr 06 Javascript
jQuery通过deferred对象管理ajax异步
May 20 Javascript
一个简单不报错的summernote 图片上传案例
Jul 11 Javascript
用js实现简单算法的实例代码
Sep 24 Javascript
浅谈jquery中next与siblings的区别
Oct 27 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
Dec 28 Javascript
基于JavaScript实现滑动门效果
Mar 16 Javascript
浅谈Node.js 中间件模式
Jun 12 Javascript
JavaScript前后端JSON使用方法教程
Nov 23 Javascript
如何用JS实现网页瀑布流布局
Apr 24 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
Mar 10 #Javascript
Vue.js之slot深度复制详解
Mar 10 #Javascript
JS实现的自动打字效果示例
Mar 10 #Javascript
jquery实现的table排序功能示例
Mar 10 #Javascript
微信小程序 向左滑动删除功能的实现
Mar 10 #Javascript
常用的js方法合集
Mar 10 #Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
Mar 10 #Javascript
You might like
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
微信网页授权(OAuth2.0) PHP 源码简单实现
2016/08/29 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
JavaScript 入门·JavaScript 具有全范围的运算符
2007/10/01 Javascript
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
jQuery 3 中的新增功能汇总介绍
2016/06/12 Javascript
AngularJS 中的数据源的循环输出
2017/10/12 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
Vue动态获取width的方法
2018/08/22 Javascript
js中的this的指向问题详解
2019/08/29 Javascript
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
Python中用sleep()方法操作时间的教程
2015/05/22 Python
使用Python写个小监控
2016/01/27 Python
Python常用知识点汇总
2016/05/08 Python
Windows和Linux下Python输出彩色文字的方法教程
2017/05/02 Python
python增加矩阵维度的实例讲解
2018/04/04 Python
python读取和保存视频文件
2018/04/16 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
积极贯彻学习两会精神总结
2014/03/17 职场文书
人事专员岗位职责说明书
2014/07/30 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
工作自我推荐信范文
2015/03/25 职场文书
爱鸟护鸟的宣传语
2015/07/13 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python
python 判断文件或文件夹是否存在
2022/03/18 Python