2010-06-14 97 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