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 相关文章推荐
JAVASCRIPT下判断IE与FF的比较简单的方式
Oct 17 Javascript
Dom 结点创建 基础知识
Oct 01 Javascript
设置checkbox为只读(readOnly)的两种方式
Oct 11 Javascript
jquery列表拖动排列(由项目提取相当好用)
Jun 17 Javascript
jQuery DOM删除节点操作指南
Mar 03 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
Aug 26 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
Nov 30 Javascript
EditPlus 正则表达式 实战(3)
Dec 15 Javascript
vue-router 路由基础的详解
Oct 17 Javascript
vue项目部署上线遇到的问题及解决方法
Jun 10 Javascript
vue实现路由懒加载及组件懒加载的方式
Jun 11 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
Mar 08 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
zend framework配置操作数据库实例分析
2012/12/06 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
PHP实现递归无限级分类
2015/10/22 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
JavaScript中判断整数的多种方法总结
2014/11/08 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
微信小程序 搜索框组件代码实例
2019/09/06 Javascript
小程序点餐界面添加购物车左右摆动动画
2020/09/23 Javascript
微信小程序轮播图swiper代码详解
2020/12/01 Javascript
python编码最佳实践之总结
2016/02/14 Python
python读取二进制mnist实例详解
2017/05/31 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
python实现ip代理池功能示例
2019/07/05 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
Python for循环与getitem的关系详解
2020/01/02 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
2021/01/29 Python
会计电算化学生个人的自我评价
2014/02/08 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
工作试用期自我评价
2015/03/10 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
工作犯错保证书
2015/05/11 职场文书
大卫科波菲尔读书笔记
2015/06/30 职场文书
老人节主持词
2015/07/04 职场文书
2016年春季开学典礼新闻稿
2015/11/25 职场文书