2010-02-16 40 views
0

知道爲什麼這代碼失敗的原因?我在別的地方做着完全相同的事情,除了我爲我的選擇器使用帶ID的DIV。這一次我需要使用「CLASS名稱」作爲我的選擇器,但它不起作用。我想要做的只是選中一個複選框並讓它檢查所有具有相同類名的複選框。任何幫助表示讚賞,或任何其他方式以更好的方式完成相同的事情,我們感激。需要幫助檢查所有複選框

謝謝。

JavaScript函數:

function jqCheckAll_byClass(class_name, name, check_me) 
{ 
    if (check_me == false) 
    { 
     $("." + class_name + " INPUT[@name=" + name + "][type='checkbox']").attr('checked', false); 
    } 
    else 
    { 
     $("." + class_name + " INPUT[@name=" + name + "][type='checkbox']").attr('checked', true); 
    } 
} 

onclick事件:

<input type="checkbox" onclick="jqCheckAll_byClass('5_arch_chbx','5_archive_chbx', this.checked);" title="Check All" class="a_hand"> 

HTML:

<input type="checkbox" class="5_arch_chbx input_editible" name="5_archive_chbx" id="2087archive_chbx_id"> 
+0

不需要在name屬性前使用'@'。 – rahul

+0

只是發表評論:你的函數的代碼可以更簡單: $( 「」 + CLASS_NAME + 「INPUT [@名稱=」 +名字+ 「] [類型= '複選框']」)ATTR( '檢查',check_me ); 還..用於調試:添加警報( 「」 $(+ CLASS_NAME + 「INPUT [@名稱=」 +名稱+ 「] [式= '複選框']」)的大小()。)在給功能體。 – Adelf

+0

謝謝,我的代碼現在更小。這有幫助。感謝adelf – Ronedog

回答

2

從HTML的onclick刪除,試試這個。我還提供了一個用於檢查所有複選框的ID。

<input type="checkbox" id="chkAll" title="Check All" class="a_hand"> 

$(function(){ 
    $("#chkAll").click(function(){ 
     $(":checkbox.5_arch_chbx").attr ("checked", $(this).attr("checked")); 
    }); 
}); 
+0

拉胡爾,感謝你的小費上面刪除「@」。我之所以有就是我用一個div id作爲選擇的一部分,之前的工作和該div包裹的表。一旦我添加了一個div並將其包裹在桌子上(而不是在桌子內),它就開始檢查所有的框。然而,直到我刪除了「@」,這將選擇所有對話框,而不是隻選擇被告知框選擇。謝謝你的幫助 – Ronedog