2010-06-14 140 views
4

如何在jQuery選擇器語句中訪問<asp:Checkbox>的類屬性?jQuery複選框類屬性

例如

<asp:CheckBox runat="server" ID="cbTest" Text="Cb Test" FieldName="1st Test Check Box" class="toggleBox"/> 

這樣的:

$(':checkbox').toggleAttr("checked", true, false) 

訪問複選框,並應用自定義函數來檢查的屬性,但是,如果我想基於某一類如何訪問過濾/基於這個過濾器?

+0

他在發帖中提到過那個自定義函數。 – rahul 2010-06-14 05:17:02

+0

哦,很好。我沒有注意。我想我假設選擇器在插件之前。 – Kobi 2010-06-14 05:19:26

回答

5

<asp:checkbox>被渲染爲<input type="checkbox" />。因此,您可以使用element selector,然後使用:chekbox selector,然後使用class selector

$("input:checkbox.toggleBox") 

將爲您帶來所需的類名爲toggleBox的複選框。

class selector

$(':checkbox')相當於$('*:checkbox'),所以$('input:checkbox')應改爲使用。

+1

@mike,請注意:這個答案適用於jQuery以及這個特定複選框的例子。這是css選擇器的基本機制之一。好好學習這些概念,你會在整個工作中隨處使用它們。 – brad 2010-06-14 05:01:54

0
function chkbxch(valor) { 
      //$('.ChChecar input:checkbox').attr('checked', true); 
      $.each($('.Ch' + valor + ' input:checkbox'), function() { 
       if ($(this).attr('checked')) { 
        $(this).attr('checked', false); 
       } else { 
        $(this).attr('checked', true); 
       } 
      }); 
     } 
+2

這會在jQuery 1.6和1.7中失敗。您需要使用.prop(),而不是.attr()。 .attr()會給你創建節點時的值,而不是當前值。 – BrianFreud 2012-05-30 04:39:27

+0

對於chkbxch帖子和隨後的評論+1,這解決了我的問題。順便說一下,我沒有使用attr或prop,但removeAttr似乎很好,雖然我意識到這個線程是4歲! – 2016-12-31 11:03:07