2011-12-01 84 views
0

我正在包裝一些放射按鈕,給他們一個更好的風格,使用css和jquery來處理radion選擇。JQuery IE的問題,同時獲取單選按鈕的狀態

我使用這個HTML包裝無線電輸入元素:

<button class="radio-button inches inches-selected"> 
    <input type="radio" id="inches" name="unit" value="inches" checked="checked"> 
</button> 

一切運作良好預期在每個瀏覽器,但在IE中,當我試圖讓選中狀態(默認的設置HTML)我得到「未定義」。

我已經試過:

$("#inches").is(":checked"); 
$("#inches").attr("checked"); 
$("input[value=inches]").is(":checked"); 

,但我總是得到 「未定義」。

有什麼建議嗎?

+0

也許''包裝在'

+0

'document.getElementById(「inches」)。checked'?用按鈕包裝輸入似乎是一種奇怪的方式去處理事情 - 你是否嘗試過將它包裝在一個標籤元素中,並設計它?你確認jQuery選擇器的工作?例如,你用'alert($(「#inches」)。length);'或'$(「#inches」)[0] .checked')得到了什麼? – nnnnnn

+0

沒有錯誤消息,代碼根本無法正常工作,因爲它找不到該元素。使用firebug-lite(js版本),我無法在DOM中看到輸入。也許我應該嘗試保持按鈕外部的 ......它是用jquery本身實現的(在運行時完成的),並且它在每個瀏覽器上運行良好,然後我想刪除該js直接使用HTML ...我認爲我會再次使用JS版本。 –

回答

0

我不認爲你可以包裝<input><button>。但假設你可以,你不應該使用選擇器$("input[value=inches]"),因爲它也會選擇任何其他輸入元素(例如文本框),它們的當前值爲inches。除此之外,我不熟悉按鈕包裝技術,所以我對整體上的這種方法持懷疑態度。