2010-07-31 70 views
2

这是一些代码,用于检查单选按钮是否被禁用。我该如何改革这个电台,使其无法检查,如果它目前被禁用?是的,我仍然想要删除父类的CSS类。谢谢。如何取消选中使用jQuery禁用的单选按钮?

$('input:disabled', true).parent().removeClass("style1"); 

为什么不能正常工作?

$('input:disabled', true).attr('checked', false).parent().removeClass("style1"); 
+1

为什么*你*是否在上下文中传入'true'? – Shog9 2010-07-31 20:05:55

+0

我查看了jquery.com上的用法,他们展示的例子就是这样。它是错误的语法?为什么'checked'属性会得到一个真正的错误? – 2010-08-01 03:56:26

+0

@Nick:相关文档可以在这里找到:['jQuery()'](http://api.jquery.com/jQuery/) - 请注意,第二个参数用于在匹配第一个参数时提供一个起始点参数,所以布尔值没有意义。摆脱这一点,你应该没问题......也许你被['attr()'](http://api.jquery.com/attr/#attr2)函数弄糊涂了,该函数需要第二个参数指定由第一个参数指定的属性的期望值?我怀疑Gumbo在他的例子中用'removeAttr()'来避免混淆...... – Shog9 2010-08-01 23:30:01

回答

2

如何改造这使 如果不加以控制它当前禁用无线电?

你可以这样做:

$(':radio').each(function(){ 
    if ($(this).is(':disabled')) { 
    $(this).attr('checked', false); 
    } 
}); 

更多信息:

+0

我没有使用复选框。我正在使用单选按钮。我使用$('input')打电话给他们,他们有一个名为:checked的属性。 – 2010-07-31 10:21:06

+0

@Nick:我已经更新了我的答案,请检查。 – Sarfraz 2010-07-31 10:23:34

+0

谢谢你的作品。 – 2010-08-01 03:57:21

1

您可以使用:radio只能得到单选按钮。并且额外的:disabled您将只能使用禁用的单选按钮。所以试试这个:

$(":radio:disabled").removeAttr("checked").parent().removeClass("style1") 
+0

我正在尝试使用单选按钮。这似乎并不奏效:$('input:disabled',true).attr('checked',false).parent()。removeClass(“style1”); – 2010-07-31 10:12:30

+2

@Nick:你为什么使用'true'作为上下文?请在我编写代码时测试代码。 – Gumbo 2010-07-31 10:20:22

相关问题