<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script> <body> <div ng-app='myApp' ng-controller='myCtrl'>
<div class="container">
<div class="row">
<div class='col-md-10'>
<table class="table table-bordered">
<thead>
<tr>
<th>
<input type="checkbox" ng-model='masterChecked' ng-click='checkMaster()' />
</th>
<th>id</th>
<td>name</td>
<td>age</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in personList">
<td>
<input type="checkbox" ng-checked='item.checked' ng-click='checkChild(item)' />
</td>
<td>{{item.id}}</td>
<td>{{item.name}}</td>
<td>{{item.age}}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div> <script>
var myApp = angular.module('myApp', []);
myApp.controller('myCtrl', function ($scope) {
//初始化表格数据
$scope.personList = [{
checked: true,
id: 1,
name: '赵云',
age: 50
}, {
checked: true,
id: 2,
name: '曹操',
age: 60
}, {
checked: true,
id: 3,
name: '大司马',
age: 50
}];
$scope.masterChecked = true
//主复选框选中事件
$scope.checkMaster = function () {
if ($scope.masterChecked == true) {
angular.forEach($scope.personList, function (item, index) {
item.checked = true;
});
} else {
angular.forEach($scope.personList, function (item, index) {
item.checked = false;
});
}
}
//子复选框选中事件
$scope.checkChild = function (item) {
//根据选中状态,调正v.checked值
(item.checked == false) ? item.checked = true : item.checked = false;
//若取消选中,则取消主复选框选中
if (item.checked == false) {
$scope.masterChecked = false;
} else {
//若选中,判断主复选框是否需要选中
var temp = true;
angular.forEach($scope.personList, function (item, index) {
//若子复选框有一个未选中,则主复选框不必选中
if (item.checked == false) {
temp = false;
}
});
//若子复选框全部选中,则选中主复选框
$scope.masterChecked = temp;
}
}
}); </script>
</body> </html>

贴上效果图:

贴上源码:

备注:没有注释,抱歉今天还是一个不擅长做一个注释的小可爱.......

angularJS处理table中checkbox的选中状态的更多相关文章

  1. html5中checkbox的选中状态的设置与获取

    获取checkbox是否选中: $("#checkbox").is(":checked"); 获得的值为true或false. 设置checkbox是否选中: ...

  2. jQuery判断复选框checkbox的选中状态

    通过jQuery设置复选框为选中状态 复选框 <input type="checkbox"/> 错误代码: $("input").attr(&quo ...

  3. 如何设置Installshield中 feature的选中状态

    原文:如何设置Installshield中 feature的选中状态 上一篇: 使用strtuts2的iterator标签循环输出二维数组之前一直有筒子问如何设置Installshield中 feat ...

  4. android checkbox 未选中状态 已选中状态 替换成自己的图片

    效果图: 未选中状态: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...

  5. jQ无法设置checkbox变成选中状态

    设置以后checkbox并没有变成选中状态,用chrome调试看了一下,checkbox中确实有checked属性,针对这个问题,大家可以参考下本文 代码如下: $("input" ...

  6. jquery中CheckBox的checked状态用attr()的问题

    写了一个脚本,点按钮时选中checkbox,前几次可以选中,多点几次发现checkbox并未选中,调试后发现checked状态根本没有改变,后在网上查证与attr()函数有关,后改为prop问题解决. ...

  7. CheckBox 半选中状态

    <input type='checkbox' />可以半选中,这个特性,很多浏览器都支持,包括Firefox,Chrome和IE 用 input.indeterminate 这个属性来获取 ...

  8. checkBox半选中状态

    checkbox 可以半选中,这个特性,很多浏览器都支持 // 用 input.indeterminate 这个属性来获取或者设置半选中状态,必须要用 js 添加属性,才有效果. input.inde ...

  9. table获取checkbox是否选中的几种方法

    function test() { $(".table tbody tr").find("td:first input:checkbox").each(func ...

随机推荐

  1. Mule ESB学习【转-结合了网络上的一些资源】

    1.SOA标准之一:SCA架构思想 SOA在Java领域有两套标准:一个是SUN推出的JBI(没有得到BEA和IBM的承认),另外一个是:IBM和BEA等公司推出的SCA和SDO标准. JBI之关注J ...

  2. ACM学习历程—CodeForces 590A Median Smoothing(分类讨论 && 数学)

    题目链接:http://codeforces.com/problemset/problem/590/A 题目大意是给一个串,头和尾每次变换保持不变. 中间的a[i]变成a[i-1],a[i],a[i+ ...

  3. windows下python使用虚拟环境

    官方文档: http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html virtualenv 是一个创建隔绝的Python环境 ...

  4. 发布django 程序

    1.配置需求环境 pip freeze > requirements.txt 在开发环境将工程依赖的包导出. pip install virtualenv pip install virtual ...

  5. FPGA, Float 32bit, multiplyier by Verilog

    1, FPGA device, using three 18bit x 18 bit multiplier to implement 32bit float multiplier 2, compari ...

  6. 百度地图设置div样式宽高为百分比不显示地图

    如题,不显示地图只要在样式代码里面加以 position:absolute; 代码就可以了 <style type="text/css"> body, html,#al ...

  7. Python:itertools库的使用

    转于:https://blog.csdn.net/neweastsun/article/details/51965226 博主:neweastsun的专栏 介绍 itertools是python内置的 ...

  8. mysql的简单操作

    创建数据库并设定字符集: CREATE  DATABASE hidb CHARACTER SET ‘utf8’; 使用数据库: use hidb; 删除数据库: DROP DATABASE hidb; ...

  9. 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化

    一.标准化(Z-Score),或者去除均值和方差缩放 公式为:(X-mean)/std  计算时对每个属性/每列分别进行. 将数据按期属性(按列进行)减去其均值,并处以其方差.得到的结果是,对于每个属 ...

  10. js中的Number方法

    1.Number.toExponential(fractionDigits) 把number转换成一个指数形式的字符串.可选参数控制其小数点后的数字位数.它必须在0~20之间. 例如: documen ...