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 相关文章推荐
js鼠标滑过弹出层的定位IE6bug解决办法
Dec 26 Javascript
JS简单实现元素复制示例附图
Nov 19 Javascript
用js的document.write输出的广告无阻塞加载的方法
Jun 05 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
Dec 18 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
Jul 14 Javascript
js数字计算 误差问题的快速解决方法
Feb 28 Javascript
JS实现的tab切换选项卡效果示例
Feb 28 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
May 11 Javascript
浅谈vue 单文件探索
Sep 05 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
Jan 31 Javascript
深入Node TCP模块的理解
Mar 13 Javascript
通过vue写一个瀑布流插件代码实例
Sep 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获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
php使用get_class_methods()函数获取分类的方法
2016/07/20 PHP
PHP与服务器文件系统的简单交互
2016/10/21 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
innerHTML在IE中报错解决方案
2014/12/15 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
jQuery基于Ajax方式提交表单功能示例
2017/02/10 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
JS计算距当前时间的时间差实例
2017/12/29 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
监控微信小程序中的慢HTTP请求过程详解
2019/07/05 Javascript
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
python设置环境变量的作用整理
2020/02/17 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
2020/04/30 Python
钉钉企业内部H5微应用开发详解
2020/05/12 HTML / CSS
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
马来西亚在线购物:POPLOOK.com
2019/12/09 全球购物
前台文员岗位职责及工作流程
2013/11/19 职场文书
《日月潭》教学反思
2014/02/28 职场文书
商场促销活动总结
2014/07/10 职场文书
结婚典礼致辞
2015/07/28 职场文书
小数乘法教学反思
2016/02/22 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
golang定时器
2022/04/14 Golang