2010-07-31 92 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

相關問題