jq checkbox的相關操作——全選、反選、獲得所有選中的checkbox


1、全選

$("#btn1").click(function(){ 
$("input[name='checkbox']").attr("checked","true"); 
}) 

 

 

2、取消全選(全不選)

$("#btn2").click(function(){ 
$("input[name='checkbox']").removeAttr("checked"); 
}) 

 

 

3、選中所有奇數

$("#btn3").click(function(){ 
$("input[name='checkbox']:odd").attr("checked","true"); 
}) 

 

 

4、選中所有偶數

$("#btn6").click(function(){ 
$("input[name='checkbox']:even").attr("checked","true"); 
}) 

 

 

5、反選

$("#btn4").click(function(){ 
$("input[name='checkbox']").each(function(){ 
if($(this).attr("checked")) 
{ 
$(this).removeAttr("checked"); 
} 
else 
{ 
$(this).attr("checked","true"); 
} 
}) 
}) 

 

 

或者

$("#invert").click(function(){
        $("#ruleMessage [name='delModuleID']:checkbox").each(function(i,o){
            $(o).attr("checked",!$(o).attr("checked"));
        });
    });

 

 

6、獲取選擇項的值

var aa=""; 
$("#btn5").click(function(){ 
$("input[name='checkbox']:checkbox:checked").each(function(){ 
aa+=$(this).val() 
}) 
document.write(aa); 
}) 
}) 

 

 

7、遍歷選中項

$("input[type=checkbox][checked]").each(function(){
 //由於復選框一般選中的是多個,所以可以循環輸出 
 alert($(this).val()); 
}); 

 

 

8、例子

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title>無標題頁</title> 
<script src="js/jquery-1.6.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
jQuery(function($){ 
//全選 
$("#btn1").click(function(){ 
$("input[name='checkbox']").attr("checked","true"); 
}) 
//取消全選 
$("#btn2").click(function(){ 
$("input[name='checkbox']").removeAttr("checked"); 
}) 
//選中所有基數 
$("#btn3").click(function(){ 
$("input[name='checkbox']:even").attr("checked","true"); 
}) 
//選中所有偶數 
$("#btn6").click(function(){ 
$("input[name='checkbox']:odd").attr("checked","true"); 
}) 
//反選 
$("#btn4").click(function(){ 
$("input[name='checkbox']").each(function(){ 
if($(this).attr("checked")) 
{ 
$(this).removeAttr("checked"); 
} 
else 
{ 
$(this).attr("checked","true"); 
} 
}) 
}) 
//或許選擇項的值 
var aa=""; 
$("#btn5").click(function(){ 
$("input[name='checkbox']:checkbox:checked").each(function(){ 
aa+=$(this).val() 
}) 
document.write(aa); 
}) 
}) 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<input type="button" id="btn1" value="全選"> 
<input type="button" id="btn2" value="取消全選"> 
<input type="button" id="btn3" value="選中所有奇數"> 
<input type="button" id="btn6" value="選中所有偶數"> 
<input type="button" id="btn4" value="反選"> 
<input type="button" id="btn5" value="獲得選中的所有值"> 
<br> 
<input type="checkbox" name="checkbox" value="checkbox1"> 
checkbox1 
<input type="checkbox" name="checkbox" value="checkbox2"> 
checkbox2 
<input type="checkbox" name="checkbox" value="checkbox3"> 
checkbox3 
<input type="checkbox" name="checkbox" value="checkbox4"> 
checkbox4 
<input type="checkbox" name="checkbox" value="checkbox5"> 
checkbox5 
<input type="checkbox" name="checkbox" value="checkbox6"> 
checkbox6 
<input type="checkbox" name="checkbox" value="checkbox7"> 
checkbox7 
<input type="checkbox" name="checkbox" value="checkbox8"> 
checkbox8 
</div> 
</form> 
</body> 
</html> 

 

 

JQuery實現全選功能(解決只能全選一次的問題)

Step-1 : JS實現
//全選、取消全選的事件  
function selectAll(){ 
    console.log(1);
    console.log($("#checkall").prop("checked"));
    if ($("#checkall").prop("checked")) { 
        console.log(2);           
        $("input[type='checkbox'][name='checkedres']").prop("checked",true);//全選
    } else { 
        console.log(3);               
        $("input[type='checkbox'][name='checkedres']").prop("checked",false);  //取消全選     
    }  
}  
//子復選框的事件  
function setSelectAll(){  
    //當沒有選中某個子復選框時,SelectAll取消選中  
    if (!$("#checkedres").checked) {  
        $("#checkall").prop("checked", false);  
    }  
    var chsub = $("input[type='checkbox'][name='checkedres']").length; //獲取subcheck的個數  
    var checkedsub = $("input[type='checkbox'][name='checkedres']:checked").length; //獲取選中的subcheck的個數  
    if (checkedsub == chsub) {  
        $("#checkall").prop("checked", true);  
    }  
}

 

Step-2 : HTML實現
    //設置全選復選框
    <input id="checkall" name="checkall" type="checkbox" onclick="selectAll()"/>全選
    //設置子復選框
    <input id="checkedres" name="checkedres" type="checkbox" onclick="setSelectAll()"/>item 1
    <input id="checkedres" name="checkedres" type="checkbox" onclick="setSelectAll()"/>item 2
    <input id="checkedres" name="checkedres" type="checkbox" onclick="setSelectAll()"/>item 3
    <input id="checkedres" name="checkedres" type="checkbox" onclick="setSelectAll()"/>item 4

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM