AngularJS实现全选反选功能


Posted in Javascript onDecember 08, 2015

AngularJS是为了克服HTML在构建应用上的不足而设计的。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了。所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事。

这里用到AngularJS四大特性之二----双向数据绑定

注意:没写一行DOM代码!这就是ng的优点,bootstrap.css为了布局,JS代码也只是简单创建ng模块和ng控制器

效果:

AngularJS实现全选反选功能

<!DOCTYPE html>
<html lang="en" ng-app="myModule5"><!--3、ng-app="myModule5"启动ng并调用模块-->
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/bootstrap.css">
<title>全选/取消全选</title>
</head>
<body>
<div class="container" ng-controller="myCtrl5"><!--4、ng-controller="myCtrl5"启用控制器-->
<h2>全选和取消全选</h2>
<table class="table table-bordered">
<thead>
<tr>
<th>选择</th>
<th>姓名</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input ng-checked="selectAll" type="checkbox">
</td>
<td>Tom</td>
<td>
<button class="btn btn-danger btn-xs">删除</button>
</td>
</tr>
<tr>
<td>
<input ng-checked="selectAll" type="checkbox">
</td>
<td>Mary</td>
<td>
<button class="btn btn-danger btn-xs">删除</button>
</td>
</tr>
<tr>
<td>
<input ng-checked="selectAll" type="checkbox">
</td>
<td>King</td>
<td>
<button class="btn btn-danger btn-xs">删除</button>
</td>
</tr>
</tbody>
</table>
<input type="checkbox" ng-model="selectAll">
<span ng-hide="selectAll">全选</span>
<span ng-show="selectAll">取消全选</span>
</div>
<script src="js/angular.js"></script><!--1、引入angularJS-->
<script>
//2、创建自定义模块和控制器
angular.module('myModule5', ['ng']).
controller('myCtrl5', function($scope){
});
</script>
</body>
</html>

ps:AngularJs 简单实现全选,多选操作

很多时候我们在处理CURD(增删改查)的时候需要实现批量操作数据,这时候就必须使用多选操作。

Angular 中实现如下(当然还有很多种比笔者写的更好的方法,这里只是简单的实现。)

HTML:

<section>
<pre>{{choseArr}}</pre>
全选: <input type="checkbox" ng-model="master" ng-click="all(master,tesarry)">
<div ng-repeat="z in tesarry">
<input id={{z}} type="checkbox" ng-model="x" ng-checked="master" ng-click="chk(z,x)">{{z}}
</div>
<a href="#" class="btn btn-danger" ng-click="delete()" > 删除</a>
</section>

页面效果如下:(CSS采用bootstrap) 

AngularJS实现全选反选功能

JS代码:

$scope.tesarry=[‘1‘,‘2‘,‘3‘,‘4‘,‘5‘];//初始化数据
$scope.choseArr=[];//定义数组用于存放前端显示
var str="";//
var flag=‘‘;//是否点击了全选,是为a
$scope.x=false;//默认未选中
$scope.all= function (c,v) {//全选
if(c==true){
$scope.x=true;
$scope.choseArr=v;
}else{
$scope.x=false;
$scope.choseArr=[""];
}
flag=‘a‘;
};
$scope.chk= function (z,x) {//单选或者多选
if(flag==‘a‘) {//在全选的基础上操作
str = $scope.choseArr.join(‘,‘) + ‘,‘;
}
if (x == true) {//选中
str = str + z + ‘,‘;
} else {
str = str.replace(z + ‘,‘, ‘‘);//取消选中
}
$scope.choseArr=(str.substr(0,str.length-1)).split(‘,‘);
};
$scope.delete= function () {// 操作CURD
if($scope.choseArr[0]==""||$scope.choseArr.length==0){//没有选择一个的时候提示
alert("请至少选中一条数据在操作!")
return;
};
for(var i=0;i<$scope.choseArr.length;i++){
//alert($scope.choseArr[i]);
console.log($scope.choseArr[i]);//遍历选中的id
}
};
Javascript 相关文章推荐
Cookie 注入是怎样产生的
Apr 08 Javascript
jQuery对象和Javascript对象之间转换的实例代码
Mar 20 Javascript
window.opener用法和用途实例介绍
Aug 19 Javascript
js 左右悬浮对联广告特效代码
Dec 12 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
Dec 24 Javascript
js格式化输入框内金额、银行卡号
Feb 01 Javascript
jQuery操作属性和样式详解
Apr 13 Javascript
JavaScript数据类型转换的注意事项
Jul 31 Javascript
移动端日期插件Mobiscroll.js使用详解
Dec 19 Javascript
区别JavaScript函数声明与变量声明
Sep 12 Javascript
详解swiper在vue中的应用(以3.0为例)
Sep 20 Javascript
弱类型语言javascript中 a,b 的运算实例小结
Aug 07 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
Dec 08 #Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
Aug 27 #Javascript
JS获取月份最后天数、最大天数与某日周数的方法
Dec 08 #Javascript
AngularJS Module方法详解
Dec 08 #Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
Dec 08 #Javascript
JS与jQ读取xml文件的方法
Dec 08 #Javascript
js实现select下拉框菜单
Dec 08 #Javascript
You might like
php数据类型判断函数有哪些
2013/09/23 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
json 定义
2008/06/10 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
jQuery.holdReady()方法用法实例
2014/12/27 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
AngularJS 避繁就简的路由
2016/07/01 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
深入理解vue.js中的v-if和v-show
2017/06/22 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
JS传播事件、取消事件默认行为、阻止事件传播详解
2017/08/14 Javascript
vue axios登录请求拦截器
2018/04/02 Javascript
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python标准算法实现数组全排列的方法
2015/03/17 Python
Python 中的 else详解
2016/04/23 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
Python socket处理client连接过程解析
2020/03/18 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
html5 迷宫游戏(碰撞检测)实例一
2013/07/25 HTML / CSS
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
Oracle性能调优原则
2012/05/03 面试题
EJB timer的种类
2014/10/28 面试题
机电工程专业应届生求职信
2013/10/03 职场文书
销售实习自我鉴定
2013/12/07 职场文书
客服工作职责
2013/12/11 职场文书
学徒工职责
2014/03/06 职场文书
运动会通讯稿50字
2015/07/20 职场文书
公司管理制度范本
2015/08/03 职场文书
2019入党申请书范文3篇
2019/08/21 职场文书
delete in子查询不走索引问题分析
2022/07/07 MySQL