我遇到了一個有趣的小問題,可能只是我很傻。JQuery將多個下拉選項設置爲選中
我有一個選擇框,看起來有點像這樣:
<select id="dom_" name="dom_">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
...
的選項代表該月的天,上升到31
現在,我試圖選擇一個默認值當一個帶有信息的表單被加載(用於編輯)時,但我無法讓它正常工作。
我試圖用這個片段我在以前的一些做題發現:
$("#dom_ option[value$='" + 2 + "']").attr('selected', true);
這條線運行,它設置第二個選項來選擇,但還設置其他2X或X2選項選擇爲好。例如,12和22也將被設置爲選中狀態。
但是,如果我用這個:
$("#dom_ option").each(function()
{
if ($(this).val() == 2)
{
$(this).attr('selected', true);
}
else
{
$(this).attr('selected', false);
}
});
然後正確的選擇會得到選擇,但SELECT
框將不會被更新。
我必須手動撥打$("#dom_").val(2);
後綴來更新方框。
所以,我的問題是,爲什麼第一個選項不工作,爲什麼第二個不自動刷新?
此外,究竟是通過$("#dom_")
採取SELECT
對象並調用它.val
與採取的選項和設置selected
爲true之間的區別?這兩個都發回相同的POST
或GET
數據嗎?
這是一個jsFiddle,希望能證明這一點。
如果有幫助,我使用JQuery 1.6.4,但我可以在jsFiddle中的一些新版本上重現相同的問題。
如果這個問題太簡單,我很抱歉。談到JavaScript和JQuery時,我仍然是一個業餘愛好者。
是否有一個原因,你」重新做這與jQuery而不是隻是HTML屬性? – Colleen 2013-02-25 20:32:02
'$(「#dom_ option [value ='2']」)。prop('selected',true);'如果你不需要2是一個變量... – 2013-02-25 20:41:42