2011-02-03 17 views
1

下面是我的按鈕的HTML,根據Chrome瀏覽器:HTML說單選按鈕被選中,但JavaScript的說,這是不是

<input checked="" type="radio" class="edit bindable" id="communicationAddresses[0].defaultAddress" name="EMAIL.default"> 

當我在我的JavaScript控制檯運行此,輸出輸出是「假的」

$("input[type=radio]:first").attr("checked") 

實際的UI元素顯然沒有被選中。當我運行這段代碼,該按鈕會變爲可見選擇:

$("input[type=radio]:first").attr("checked", true) 

回首Chrome的HTML,我看到幾乎正是我之前看到了同樣的事情。唯一的區別是「checked」現在位於標籤的末尾而不是開頭?

<input type="radio" class="edit bindable" id="communicationAddresses[0].defaultAddress" name="EMAIL.default" checked=""> 

更多信息:在頁面上有另一個無線電組下降。當我刪除第二個廣播組時,第一個按預期行事。他們是不同的羣體。它可能手動選擇每個按鈕。

這是怎麼回事?爲什麼不明顯選擇按鈕?

#####編輯

選擇開始的,但清盤越來越取消由於我跑一些事件綁定代碼中的bug按鈕。

+0

什麼是HTML的結構?另外,`checked`是一個布爾屬性;它不需要一個值,它只需要在那裏:所以``not``。 – 2011-02-03 21:48:32

+0

如果你想要它被檢查使用checked =「checked」或根本不使用checked屬性 – aorcsik 2011-02-03 21:53:03

回答

3

checked屬性對應的複選框的默認 checkedness,而不是它的當前 checkedness。

換句話說,checked屬性對應於defaultChecked javascript property,而不是checked property

jQuery的$("foo").attr("checked", true)設置了checked javascript屬性,但不影響checked屬性。

相關問題