前段时间做了一个全选和反选的功能,最近不忙了,做了一个简化版的demo。

全部代码如下:

<!DOCTYPE html>
<html>
<head>
<title>全选反选</title>
<style type="text/css">
ul,li{
list-style: none;
}
.btn {
margin-left: 40px;
}
</style>
</head>
<body>
<ul id="music"></ul>
<hr>
<div class="btn">
<label id="all">
<input type="checkbox" name="all">全选
</label>
<label id="reverse">
<input type="checkbox" name="reverse">反选
</label>
</div>
<pre></pre>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
$(function(){ var data = [
'01.大海 ',
'02.天路 ',
'03.再回首 ',
'04.突然的自我 ',
'05.甘心情愿 ',
'06.光辉岁月 ',
'07.雨蝶 ',
'08.爱拼才会赢 ',
'09.我只在乎你 ',
'10..日不落'
]; var html = '';
for(var i = 0; i < data.length; i++){
html += '<li>'+
'<input type="checkbox" name="">'+
'<span>' + data[i] + '</span>'+
'</li>';
}
$('#music').html(html); var $all = $('#all input');
var $reverse = $('#reverse input'); var $checkboxEl = $('#music').find('input[type="checkbox"]');
var len = $checkboxEl.length; var n = 0; //input checkbox 选中的个数
$checkboxEl.on('click', function(){
if($(this).attr("checked") == 'checked'){
$(this).attr("checked", false);
n--;
}else{
$(this).attr("checked", true);
n++;
}
allIsChecked();
}); $all.on('click', function(){
if($(this).attr("checked") == 'checked'){
$(this).attr("checked", false);
$checkboxEl.attr('checked', false);
$checkboxEl.prop('checked', false);
n = 0;
}else{
$(this).attr("checked", true);
$checkboxEl.attr('checked', true);
$checkboxEl.prop('checked', true);
n = len;
}
}); $reverse.on('click', function(){
$checkboxEl.each(function(i, el){
if($(this).attr("checked") == 'checked'){
$(this).attr("checked", false);
$(this).prop("checked", false);
n--;
}else{
$(this).attr("checked", true);
$(this).prop("checked", true);
n++;
}
});
allIsChecked();
}); function allIsChecked(){
if(n == len){
$all.attr('checked', true);
$all.prop('checked', true);
}else{
$all.attr('checked', false);
$all.prop('checked', false);
}
} })
</script> </body>
</html>

最新文章

  1. 项目中初试PHP单元测试
  2. [LintCode] Roman to Integer 罗马数字转化成整数
  3. OpenJudge计算概论-配对碱基链
  4. Python 爬虫实例
  5. Visual Studio 常用快捷键 (二)
  6. Erlang入门(三)——分布式编程
  7. sql server和my sql 命令(语句)的差别,sql server与mysql的比較
  8. SQLServer 2008 技术内幕——T-SQL 查询 笔记
  9. ZOJ 1204 一个集合能组成多少个等式
  10. gen_compile.sql
  11. 【BZOJ4407】于神之怒加强版(莫比乌斯反演)
  12. centos下mongodb备份(dump)与还原(restore)
  13. bootstrap 菜单之手风琴效果
  14. js获取设备
  15. python使用装饰器对文件进行读写操作&#39;及遍历文件目录
  16. PHP(基础语法:执行原理)
  17. Java 二进制数据转成文件
  18. 人生苦短,我用python,为什么选择python,python简介
  19. 100-days: Six
  20. 【C语言】 8421BCD码与二进制的转换

热门文章

  1. CentOS 7 防火墙常用操作及常见问题处理
  2. python:set() 函数
  3. 简单了解journalctl
  4. 【lucene】一个简单的招聘网站的建立
  5. nginx入门,安装
  6. 第八篇 CSS定位
  7. 转载:elasticsearch入门篇
  8. ab测试工具的使用
  9. 搭建内部NuGet服务
  10. IO模型(epoll)--详解-03