2011-02-28 72 views
7

我想手動設置一個單選按鈕來檢查,但有一個問題。該代碼工作得很好:jQuery手動設置buttonset收音機

$('#'+align+'Text').attr("checked","checked"); 

但是,當我把jQuery UI的實踐,並使無線電按鈕集,一切都打破。再次,一切正常,直到我把.buttonset(),然後他們看起來比正常收音機好多了,但上面的設置根本不起作用。

重點如下:
任何人都已能夠手動設置的單選按鈕而.buttonset()是活性的那些無線電?

+0

第一關:在'checked'屬性是一個布爾值,它是由存在或不存在而設定的。它不需要屬性。嘗試使用:'attr('checked',true)'代替。它可能會有所作爲。 – 2011-02-28 18:05:54

+0

這不是問題,當jQuery UI未被使用時,它可以正常工作。 – Yottagray 2011-02-28 18:20:08

+1

你可能想考慮發佈一個[JS小提琴](http://jsfiddle.net/)演示,它重現你的問題;這樣我們就可以看到與什麼相互作用。 – 2011-02-28 18:26:07

回答

21

您只需在設置「checked」屬性後調用按鈕小部件上的「刷新」操作即可。

$('#'+align+'Text').attr("checked","checked").button('refresh'); 

這裏是jsfiddle

注意,設置「選中」屬性可以(並且,有些人會說,應該)與.prop()功能進行設置:

$('#' + align + 'Text').prop('checked', true).button('refresh'); 
+0

Yottagray將您的答案標記爲已接受,您的回答是正確的我將刪除我的答案。 – 2011-02-28 18:54:35

+0

那麼你的解決方法不是*不好*,真的;這是一個好主意,只是沒有必要:-) – Pointy 2011-02-28 19:00:52

+0

或產生預期的效果,最近一直癡迷於SO,並且有時已經領先於我自己:-) – 2011-02-28 19:04:28