前段时间做了一个全选和反选的功能,最近不忙了,做了一个简化版的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>

jQuery 全选和反选demo的更多相关文章

  1. Jquery全选与反选checkbox(代码示例)

    今天在公司要实现操作权限的功能,需要根据左边的树,选择一项,判断右边的操作权限,例如,增加,修改,删除,查看等按钮的显示与隐藏: 这个功能实现思路如下: 1.操作权限:增加.修改等按钮的ID和Text ...

  2. Jquery 全选、反选问题解析

    最近工作中,需要使用Jquery实现复选框的全选和反选,本人虽然不是专职撸前端的,但这个小问题感觉也没什么难度,下面直接上代码: <div id="list"> < ...

  3. jquery 全选、反选、获取值、背景行、隔行变色和鼠标略过变色变色全特效

    好久没有写东西了,当然不是没东西可写,只是没有时间写.今天抽出点时间来把我最近使用的一些 Javascript 特效的东西贴出来,供自己或者别人查询使用.最近我在做一个新的 B/S 系统,由于没有专门 ...

  4. jQuery全选与反选,且解决点击只执行一次的问题

    <html> <head> <script src="jquery-1.11.1.min.js" type="text/javascript ...

  5. Jquery 全选、反选

    jQuery 1.9以后用 prop(); 不用attr 等 $(function() { $('#inputCheck').click(function() { $("input[name ...

  6. jQuery全选、反选、全不选

    原文链接:https://yq.aliyun.com/articles/33443 HTML内容部分: <ul id="items"> <li> <l ...

  7. jQuery 全选 正反选

    <script src="http://code.jquery.com/jquery-1.4.4.min.js" type="text/javascript&quo ...

  8. 基于jquery 全选、反选、各行换色、单击行选中事件实现代码

    <script language="javascript"> $(document).ready(function(){ //各行换色 $('table tr:odd' ...

  9. Jquery 全选、反选问题的记录

    <div id="list"> <ul id="choseList" > <li><input type=" ...

随机推荐

  1. Intellij idea启动项目提示"ClassNotFoundException"

    引用至Intellij IDEA 启动项目ClassNotFoundException 使用Intellij IDEA的过程中,新创建的项目启动时报 严重: Error configuring app ...

  2. tasks.json 配置 解决vscode控制台乱码问题

    { "version": "2.0.0", "command": "dotnet", "tasks" ...

  3. 关于redis的几件小事(三)redis的数据类型与使用场景

    1.string 这是最基本的类型了,就是普通的set和get,做简单的kv缓存. 2.hash 这个是类似map的一种结构,这个一般就是可以将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对 ...

  4. 多线程编程-- part 7 CountDownLatch

    CountDownLatch简介 CountDownLatch是通过“共享锁”实现的.在创建CountDownLatch中时,会传递一个int类型参数count,该参数是“锁计数器”的初始状态,表示该 ...

  5. js中 base64 转二进制

    function base64toBlob(base64,type) { // 将base64转为Unicode规则编码 let bstr = atob(base64, type), n = bstr ...

  6. fiddler4自动生成jmeter脚本

    接口.性能测试任务当遇到从浏览器或移动app自己抓包的情况出现时就变得巨苦逼了,苦在哪里?苦在需要通过抓包工具抓报文,需要通过抓包报文梳理业务逻辑.需要将梳理的逻辑编写成脚本.最最苦的情况是,自己抓包 ...

  7. java poi

    import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import org.a ...

  8. myeclipse 工具栏 Run按钮不见了,怎么调出来啊?

    window-->new window,打开新窗口,按钮出现了.关闭老窗口,再关闭新窗口.再次打开MyEclipse,妥妥的了.

  9. HDU6739 2019CCPC秦皇岛赛区 I. Invoker

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=6739思路:暴力dp           一个special skill最多有6种排列组合          ...

  10. ES6学习笔记(对象新增方法)

    1.Object.is() ES5 比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===).它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0. ...