將radio選項設置爲'checked',但值回來'undefined?'
<div id="use-same-address-selection-container" class="input-field">
<label for="delivery-same">Use Same Address?</label>
\t \t \t <div class="picker">
\t \t \t \t \t \t <span class="radio-wrap">
\t \t \t \t \t \t \t \t <input type="radio" name="delivery-same" id="delivery-same-yes" value="yes" class="same-address-picker"><label for="delivery-same-yes">YES</label>
\t \t \t \t \t \t \t \t \t </span>
\t \t \t \t \t \t \t \t \t <span class="radio-wrap">
\t \t \t \t \t \t \t \t \t <input type="radio" name="delivery-same" id="delivery-same-no" value="no" class="same-address-picker"><label for="delivery-same-no">NO</label>
\t \t \t \t \t \t \t \t \t </span>
\t \t \t \t \t \t </div>
</div>
我知道這裏也有類似的問題,但我已經通過噸答案,文章看了看,還沒有發現我的情況的解決方案或解釋呢。
我試圖設置類型=無線輸入的「檢查」屬性以這樣的方式
$("#use-different-address").prop('checked', true);
然後,立即行下面,我打印出來警報看到的價值'checked'屬性,並且不斷返回'undefined'。
alert("Value of the checked property for use-different-address = " + $("#use-different-address").prop('checked'));
我一直在移動它所有的文檔各地嘗試在執行流程不同的地方,試圖把它在$(文件)。就緒(),軋成其他自定義功能,使用替代的語法(例如,attr而不是prop),但是沒有任何東西允許我在加載頁面時自動將其設置爲「檢查」。奇怪的是,當我手動點擊其中一個選項時,該框被檢查並從此開始正常運行(我可以改變選擇,函數正常觸發變化等),直到我刷新或返回到在該頁面之後,兩個選項都沒有被選中,並且'checked'的值又是'undefined'。
注意:我沒有試圖簡單地設置'checked'的默認值,所以在HTML中輸入'checked = true'這樣的操作是行不通的。它應該根據是否設置sessionStorage變量來設置(我可以設置併成功讀取此值,所以這不是問題),所以我需要能夠更改'checked'屬性的值後sessionStorage變量被檢測到。
你可以把你的HTML代碼嗎? –
你需要展示更多的代碼,因爲你描述的工作正常https://codepen.io/pjabbott/pen/gGQWMx –
你使用的是什麼jQuery版本?如果它在1.6之前,你需要使用'.attr(「checked」,「checked」)'但是,更多的代碼/上下文會有幫助https://stackoverflow.com/a/19630917/8222554 – stephen