JQuery简单的checkbox全选、反选例子

HTML

我们的页面上有一个歌曲列表,列出多行歌曲名称,并匹配复选框供用户选择,并且在列表下方有一排操作按钮。

 代码如下 复制代码

<ul id="list">  
   <li><label><input type="checkbox" value="1"> 1.时间都去哪儿了</label></li>
   <li><label><input type="checkbox" value="2"> 2.海阔天空</label></li>
   <li><label><input type="checkbox" value="3"> 3.真的爱你</label></li>
   <li><label><input type="checkbox" value="4"> 4.不再犹豫</label></li>
   <li><label><input type="checkbox" value="5"> 5.光辉岁月</label></li>
   <li><label><input type="checkbox" value="6"> 6.喜欢??</label></li>
</ul>
<input type="checkbox" id="all">
<input type="button" value="全选" class="btn" id="selectAll">  
<input type="button" value="全不选" class="btn" id="unSelect">  
<input type="button" value="反选" class="btn" id="reverse">  
<input type="button" value="获得选中的所有值" class="btn" id="getValue">

当然不要忘了先加载jQuery库文件:

<script src="/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

jQuery

1、全选或全不选。当勾选全选按钮#selectAll旁边的复选框#all时,列表中的选项全部选中,反之取消勾选则列表中的选项全部为未选中状态。

 代码如下 复制代码

$("#all").click(function(){   
    if(this.checked){   
        $("#list :checkbox").attr("checked", true);  
    }else{   
        $("#list :checkbox").attr("checked", false);
    }   
}); 

2、全选。当点击全选按钮#selectAll或者勾选全选按钮旁边的复选框#all时,列表中所有的选项都会被选中,包括全选旁边的复选框也是选中状态。

 代码如下 复制代码
$("#selectAll").click(function () {
   $("#list :checkbox,#all").attr("checked", true);  
});

 

3、全不选。当点击全不选按钮#unSelect时,列表中所有的选项都是未选中状态,当然包括#all也是未选中状态。

 代码如下 复制代码
$("#unSelect").click(function () {  
   $("#list :checkbox,#all").attr("checked", false);  
}); 

 

4、反选。当点击反选按钮#reverse,列表中所有被选中的选项变为未选中状态,而所有未选中的选项变为已选中状态,当然也要注意#all的状态。

 代码如下 复制代码

$("#reverse").click(function () { 
    $("#list :checkbox").each(function () {  
        $(this).attr("checked", !$(this).attr("checked"));  
    });  www.111cn.net
    allchk();
});

上述代码中遍历了选项列表,然后改变checked属性,调用函数allchk()是干什么的,别急,留在后面介绍。

5、获得选中的所有值。我们要跟后台程序交互就必须获取列表中所选项的值,我们通过遍历数组,将选中项的值存放在数组中,最后组成由逗号(,)隔开的字符串,开发者就可以通过获取这个字符串进行相应的操作了。

 代码如下 复制代码

$("#getValue").click(function(){
    var valArr = new Array;
    $("#list :checkbox[checked]").each(function(i){
        valArr[i] = $(this).val();
    });  www.111cn.net
    var vals = valArr.join(',');//转换为逗号隔开的字符串
    alert(vals);
});

为了完善选中选项功能,我们在单击列表中某个选项时,如果勾选的项刚好满足全部选中的条件,则#all也要相应的变为选中状态,同样,如果事先所有的选项是选中状态时,当取消勾选某个选项时,那么#all也要相应的变为未选中状态。

 代码如下 复制代码

//设置全选复选框
$("#list :checkbox").click(function(){
    allchk();
});

函数allchk()就是用来检测全选框#all应该是选中状态还是未选中状态的,请看代码。

 代码如下 复制代码

function allchk(){
    var chknum = $("#list :checkbox").size();//选项总个数
    var chk = 0;
    $("#list :checkbox").each(function () {  
        if($(this).attr("checked")==true){
            chk++;
        }
    });
    if(chknum==chk){//全选
        $("#all").attr("checked",true);
    }else{//不全选
        $("#all").attr("checked",false);
    }
}

总结

jQuery操作复选框的选中和不选中状态非常简单,使用attr()来设置"checked"属性的值,true未选中,false为未选中,在整个全选、反选过程中注意处理全选复选框的选中状态,以及获取选中选项的值。以下我将所有jQuery代码整理在一起,供大家参考。

 代码如下 复制代码

$(function () {
    //全选或全不选
    $("#all").click(function(){   
        if(this.checked){   
            $("#list :checkbox").attr("checked", true);  
        }else{   
            $("#list :checkbox").attr("checked", false);
        }   
     }); 
    //全选  
    $("#selectAll").click(function () {
         $("#list :checkbox,#all").attr("checked", true);  
    });  
    //全不选
    $("#unSelect").click(function () {  
         $("#list :checkbox,#all").attr("checked", false);  
    });  
    //反选 
    $("#reverse").click(function () { 
         $("#list :checkbox").each(function () {  
              $(this).attr("checked", !$(this).attr("checked"));  
         });
         allchk();
    });
    
    //设置全选复选框
    $("#list :checkbox").click(function(){
        allchk();
    });
 
    //获取选中选项的值
    $("#getValue").click(function(){
        var valArr = new Array;
        $("#list :checkbox[checked]").each(function(i){
            valArr[i] = $(this).val();
        });
        var vals = valArr.join(',');
          alert(vals);
    });
}); 
function allchk(){
    var chknum = $("#list :checkbox").size();//选项总个数
    var chk = 0;
    $("#list :checkbox").each(function () {  
        if($(this).attr("checked")==true){
            chk++;
        }
    });
    if(chknum==chk){//全选
        $("#all").attr("checked",true);
    }else{//不全选
        $("#all").attr("checked",false);
    }
}

时间: 2024-09-14 14:54:18

JQuery简单的checkbox全选、反选例子的相关文章

最简单的checkbox全选功能Jquery代码

记载一段最简单的全选功能Jquery代码.好东西要收藏,故在此留下印记,以供后人考证!  代码如下 复制代码 $(function(){  $("#chkAll").click(function(){   $("input:checkbox").attr("checked",$(this).attr("checked"));  }); }); 例 checkbox全选/反选  代码如下 复制代码 <html> &l

jquery checkbox全选反选实现代码

在jquery中我们要判断checkbox是否选中我们可以直接使用 if($("#id").attr("checked")==true) 来操作. 那么如果我们要实现多个checkbox全选反选就可以利用each进行遍历了 jquery代码  代码如下 复制代码 function selectall(){      var arrChk=$("input[name='deleteid']");//checkbox名称        $(arrCh

javascritp checkbox全选反选代码

javascritp checkbox全选反选代码 //全选与反选 <script type="text/网页特效"> var checkflag = "false"; function check(field) {      if (checkflag == "false")      {            for (i = 0; i < field.length; i++)            {           

jQuery prop设置checkbox全选、反选的例子

大家都知道 jQuery 可通过 attr 方法来设置 dom 属性,自然的也就想到用 $(dom).attr('checked', 'checked'); 这种方法来选择 checkbox 了,但是最近在项目中使用 checkbox 全选.反选的时候,却出现了问题: 在使用 attr 方法设置选择后,点击第一次可以设置反选,第二次却不行了. $(function(){     var checkbox = $("input[type='checkbox']");     //全选  

Jquery CheckBox全选方法代码附js checkbox全选反选代码_jquery

jquery方法如下: 复制代码 代码如下: function CheckAll(val) { $("input[name='chkJob']").each(function() { this.checked = val; }); $("#chkAll").attr("checked", val);//设定全选按钮状态 } val 该参数传递的是全选按钮的选择状态 name='chkJob' 这个为列表中的checkbox名称 chkAll 就为

总结jQuery checkbox全选/反选代码

在修改Hi GPA的时候需要增加一个全选用户的功能,结果被坑惨了. 首先,最终代码是这么写的:  代码如下 复制代码 var text = $('#select-all-student').html(); if (text == '全选') {     $('input[name="studentNumber"]').prop('checked', true);     $('#select-all-student').html('取消全选') } else {     $('inpu

jquery、js操作checkbox全选反选

 全选反选checkbox在实际应用中比较常见,本文有个不错的示例,大家可以参考下 操作checkbox,全选反选   代码如下: //全选  function checkAll() {  $('input[name="TheID"]').attr("checked", "checked");  }  //反选  function uncheckAll() {  $('input[name="TheID"]').each(fu

jquery、js操作checkbox全选反选_javascript技巧

操作checkbox,全选反选 复制代码 代码如下: //全选 function checkAll() { $('input[name="TheID"]').attr("checked", "checked"); } //反选 function uncheckAll() { $('input[name="TheID"]').each(function() { this.checked = !this.checked; }) }

Jquery 1.42 checkbox 全选和反选代码_jquery

Jquery代码 复制代码 代码如下: <script type="text/javascript" src="jquery-1.4.2.min.js"></script> <script type="text/javascript"> function Checked(){ //定义函数checked $(".chk").each(function(){ //遍历html中class为ch