我正在根據存儲在數組中的值(用於允許用戶將表單恢復爲其初始值的較大腳本的一部分)設置複選框的腳本。代碼基本上是這樣的:jQuery:從數組中設置複選框的值
$("#myForm :checkbox[name='myName[]']").each(function(){
if($.inArray($(this).val(),initValues)!=-1){
$(this).prop("checked",true);
} else {
$(this).prop("checked",false);
}
});
initValues包含最初檢查的框的值屬性。
該腳本檢查$("#myForm :checkbox[name='myName[]']")
中的第一個元素,但隨後的元素都顯示爲未選中。 Firebug顯示checked
屬性正在更改,但框本身未被選中。
我已經試過的attr()
verious排列到位的結果相同prop()
一切,和腳本的工作方式在Firefox 11.0和Chrome 18.0在OS X
請提供一些HTML。有可能'.val()'沒有返回你期望的值。 – Blazemonger 2012-04-19 20:13:09
'.prop()'是正確的。你的代碼工作正常[在這裏](http://jsfiddle.net/mblase75/DmVYa/)。你使用的是最近版本的jQuery嗎? – Blazemonger 2012-04-19 20:16:59
我確實考慮過,但據我所知,它是,和'$ .inArray()'測試正常工作。 HTML是一個龐大的項目的一部分,所以在這裏顯示有點複雜,但我會嘗試處理一個測試案例。謝謝 – toppy 2012-04-19 20:20:15