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 相关文章推荐
根据鼠标的位置动态的控制层的位置
Nov 24 Javascript
js简易namespace管理器 实例代码
Jun 21 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
Nov 19 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
Dec 12 Javascript
关于JavaScript对象的动态选择及遍历对象
Mar 10 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
Sep 01 Javascript
使用FlexiGrid实现Extjs表格效果方法分享
Dec 16 Javascript
在JavaScript应用中实现延迟加载的方法
Jun 25 Javascript
javascript实现动态表头及表列的展现方法
Jul 14 Javascript
如何实现JavaScript动态加载CSS和JS文件
Dec 28 Javascript
js获取 gif 的帧数的代码实例
Sep 10 Javascript
uni-app如何实现增量更新功能
Jan 03 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
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
关于php支持分块与断点续传文件下载功能代码
2014/05/09 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
PHP _construct()函数讲解
2019/02/03 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
datePicker——日期选择控件(with jquery)
2007/02/20 Javascript
仿百度的关键词匹配搜索示例
2013/09/25 Javascript
jQuery实现contains方法不区分大小写的方法
2015/02/13 Javascript
JQuery限制复选框checkbox可选中个数的方法
2015/04/20 Javascript
php结合imgareaselect实现图片裁剪
2015/07/05 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
jquery动态添加文本并获取值的方法
2016/10/12 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
Vue动态实现评分效果
2017/05/24 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
微信小程序实现文字从右向左无限滚动
2020/11/18 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
详细介绍Python函数中的默认参数
2015/03/30 Python
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
2015/04/24 Python
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
Python实现的旋转数组功能算法示例
2019/02/23 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
python3代码中实现加法重载的实例
2020/12/03 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
服务行业个人求职的自我评价
2013/12/12 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
高中班级口号
2014/06/09 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
银行委托书范本
2014/09/28 职场文书
小学校园广播稿集锦
2014/10/04 职场文书