jquery對checkbox的操作

一、通過選擇器選取CheckBox:

  1.給CheckBox設置一個id屬性,通過id選擇器選取:

    <inputtype="checkbox"name="myBox"id="chkOne"value="1" checked="checked" />

 

 

    JQuery:

        $("#chkOne").click(function(){});
 

   2.給CheckBox設置一個class屬性,通過類選擇器選取:

    <inputtype="checkbox"name="myBox"class="chkTwo"value="1" checked="checked"/>

 

 

    JQuery:

        $(".chkTwo").click(function(){});
 
  3.通過標籤選擇器和屬性選擇器來選取:
   <inputtype="checkbox"name="someBox" value="1" checked="checked"/>

 

   <inputtype="checkbox"name="someBox" value="2"/>

   JQuery:
        $("input[name='someBox']").click(function(){});
 
二、對CheckBox的操作:
   以這段checkBox代碼爲例:
 
  
<input type="checkbox" name="box"  value="0" checked="checked" />

 

   <input type="checkbox" name="box" value="1" />

   <input type="checkbox" name="box" value="2" />

   <input type="checkbox" name="box" value="3" />


 
   1.遍歷checkbox用each()方法:
       $("input[name='box']").each(function(){});
   2.設置checkbox被選中用attr();方法:
     $("input[name='box']").attr("checked","checked");
 

    在HTML中,如果一個複選框被選中,對應的標記爲 checked="checked"。 但如果用jquery alert($("#id").attr("checked")) 則會提示您是"true"而不是"checked",所以判斷 if("checked"==$("#id").attr("checked")) 是錯誤的,應該是 if(true == $("#id").attr("checked"))

 
  3.獲取被選中的checkbox的值:
 
  $("input[name='box'][checked]").each(function(){
    if (true == $(this).attr("checked")) {
          alert( $(this).attr('value') );
    }
     或者:
    $("input[name='box']:checked").each(function(){
    if (true == $(this).attr("checked")) {
          alert( $(this).attr('value') );
    }


   $("input[name='box']:checked")與 $("input[name='box']")有何區別沒試過,我試了用 $("input[name='box']")能成功。

   4.獲取未選中的checkbox的值:

 

  

 $("input[name='box']").each(function(){
          if ($(this).attr('checked') ==false) {
                alert($(this).val());
            }
     });


   5.設置checkbox的value屬性的值:

          $(this).attr("value",值);

 

三、 一般都是創建一個js數組來存儲遍歷checkbox得到的值,創建js數組的方法:

     1.  var array= new Array();

     2. 往數組添加數據:

        array.push($(this).val());
 

     3.數組以“,”分隔輸出:

         alert(array.join(','));

 
 
 
 

  <input type="checkbox"name="myBox"class="chkTwo"value="2"/>

  <input type="checkbox"name="myBox"id="chkOne"value="2"/>

發佈了23 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章