復選框的操作,看這一篇就夠啦~~


平常在工作中對於復選框的操作算頻繁的了。盡管在網上已經有很多這方面的文章了,但是感覺總結的不夠詳細。下面是本人對於操作復選框進行的一些總結。下面的方法大多是基於jquery的,所以要記得引用jquery哦~~用原生js的地方做了說明,大家各取所需吧。

HMTL代碼如下:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1">
 6     <title>復選框的操作</title>
 7 </head>
 8 <body >
 9     你擅長的是:
10     <input type="button" value="全選" id="all"> 
11     <input type="button" value="全不選" id="none"> 
12     <input type="button" value="反選" id="other"> 
13 
14     <ul id="checkbox">
15         <li>
16             <input type="checkbox" value="html" id="html" checked="checked" name="skill">
17             <label for="html">html</label>
18         </li>
19         <li>
20             <input type="checkbox" value="css" id="css" name="skill">
21             <label for="css">css</label>
22         </li>
23         <li>
24             <input type="checkbox" value="js" id="js" name="skill">
25             <label for="js">js</label>
26         </li>
27     </ul>
28     您選中了:<span id="showVal"></span>
29 </body>
30 </html>

 

1.獲取復選框

$("input[type='checkbox']"); //獲取所有的復選框
$("input[name='skill']"); //獲取name=skill的復選框
$("input[name="skill"]:checked"); //獲取name=skill並且選中了的復選框

除了上面講述的三種方法,還可以通過class類名,id名來獲取,這里就不贅述了。

 

2.判斷復選框是否選中

方法一:

if($('#html').is(':checked')) { //所有版本:true/false//別忘記冒號哦
   /*do something*/
}

方法二:

if ($('#html').attr('checked')) { //jquery 版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false

  /*do something*/
}

方法三(推薦使用):

if ($('#html').prop('checked')) { //jquery 1.6+添加的新方法,返回true/false
  /*do something*/
}

 

方法四(js版):

if(document.getElementById("html").checked){
   /*do something*/
}

 

3.判斷復選框選中的個數

 1 function selectLength(){    
 2   var selLen = 0;    
 3   $('input[name="skill"]').each(function(){    
 4       if($(this).is(':checked')){
 5           selLen++;
 6       } 
 7   });    
 8   $("#selLen").text(selLen);    
 9 }    
10 selectLength(); //執行函數

 

4.獲取復選框選中的值

1 function jqchk(){  
2   var chk_value =[];    
3   $('input[name="skill"]:checked').each(function(){    
4    chk_value.push($(this).val());    
5   });    
6   $("#showVal").text((chk_value.length==0 ?'你還沒有選擇任何內容!':chk_value+" "));    
7 }  
8 jqchk(); //執行這個函數

 

5.實時獲取復選框選中的個數及選中的值

1 $('input[name="skill"]').click(function(){
2     selectLength();//獲取選中的個數,上面第3條中寫的函數
3     jqchk();//獲取選中的值,上面第4條中寫的函數
4 })

 

6.全選,全不選,反選

 1 //全選
 2 $("#all").click(function(){  
 3     $("input[name='skill']").prop("checked",true); 
 4 });
 5 
 6 //全不選
 7 $("#none").click(function(){   
 8         $("input[name='skill']").prop("checked",false);
 9 });
10 
11 //反選
12 $("#other").click(function(){  
13     $("[name='skill']").each(function(){
14         if($(this).attr("checked")){  
15             $(this).prop("checked",false);  
16         }  
17         else{  
18             $(this).prop("checked",true);  
19         }  
20     })  
21 });

 

7.prop的4種賦值

$("#html″).prop("checked",true);
$("#html″).prop({checked:true}); //map鍵值對
$("#html″).prop("checked",function(){
    return true;//函數返回true或false
});
$("#html″).prop("checked","checked");

 

8.獲取選中的個數及選中的值(js 版)

 1 function chk(){    
 2   var obj=document.getElementsByName('skill');  //選擇所有name="'skill'"的對象,返回數組    
 3   //取到對象數組后,我們來循環檢測它是不是被選中    
 4   var selVal="";    
 5   var selLen = 0;
 6   for(var i=0; i<obj.length; i++){  
 7     if(obj[i].checked) {
 8         selVal+=obj[i].value+',';  //如果選中,將value添加到變量selVal中  
 9  selLen++ 
10     } 
11   }      
12   document.getElementById("showVal").innerHTML = selVal==''?'你還沒有選擇任何內容!':selVal;   
13   document.getElementById("selLen").innerHTML = selLen;  
14 }


免責聲明!

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



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