2014-09-25 116 views
-1

我試圖從列表選項中動態更改所選項目This Demo但它不起作用。關於使用jQuery設置HTML選擇選項的問題

<select id="selItems" class="selectpicker"> 
    <option>Select From List</option> 
    <option>Mustard</option> 
    <option>Ketchup</option> 
    <option>Relish</option> 
</select> 
<p> 
<button id="setdefault" type="submit" class="btn">Set Default</button> 

<script> 
$("#setdefault").on("click", function() { 
    $("#selItems option:eq(2)").attr("selected", "selected"); 
}); 
</script> 

請問我能告訴我我做錯了什麼嗎?

+0

你的'select'有一個'setdefault'的ID ...... Therer沒有'selItems' – tymeJV 2014-09-25 19:39:27

+0

謝謝tymeJV,我修復了代碼但仍然發生同樣的事情! – Suffii 2014-09-25 19:43:25

+0

可能的重複[如何設置選擇使用selectpicker插件選擇值從引導](http://stackoverflow.com/questions/14804253/how-to-set-selected-value-on-select-using-selectpicker-plugin -from-bootstrap) – 2014-09-25 19:53:48

回答

1

嘗試使用prop代替attr

$("#setdefault").on("click", function() { 
 
    $("#selItems option:eq(2)").prop("selected", true); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="selItems" class="selectpicker"> 
 
    <option>Select From List</option> 
 
    <option>Mustard</option> 
 
    <option>Ketchup</option> 
 
    <option>Relish</option> 
 
</select> 
 
<p> 
 
<button id="setdefault" type="submit" class="btn">Set Default</button>

+0

謝謝jrummell這是一個明智的提示! – Suffii 2014-09-25 19:52:50

+0

有關prop vs attr的更多信息,請參閱http://stackoverflow.com/questions/5874652/prop-vs-attr。 – jrummell 2014-09-25 19:53:58

0

嘗試切換

$("#setdefault").on("click",function(){ 
$("#selItems option:eq(3)").attr("selected", "selected"); 
}); 

$("#setdefault").on("click",function(){ 
$("#setdefault option:eq(3)").attr("selected", "selected"); 
}); 
+0

'#setdefault'不是'select'元素 – Huangism 2014-09-25 19:46:31

1

爲什麼有你的代碼不工作,你如何指望它有幾個原因。

您正在您的select元素上設置一個click事件,而不是在「set default」按鈕上。

您的實際選擇元素在頁面上不可見,因爲它正在被您正在使用的jquery插件取代..所以即使您設置了選擇的選定屬性,也不會在頁面上看到它。

你應該參考the documentation of that plugin找出它是如何使用的。

0

只需使用val()

$("#setdefault").on("click", function() { 
 
    $("#selItems").val("Mustard"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="selItems" class="selectpicker"> 
 
    <option>Select From List</option> 
 
    <option>Mustard</option> 
 
    <option>Ketchup</option> 
 
    <option>Relish</option> 
 
</select> 
 
<p> 
 
<button id="setdefault" type="submit" class="btn">Set Default</button>

+0

感謝魯道夫,但你想念Bootstrap部分! – Suffii 2014-09-25 19:52:06

+0

Bootstrap部分? – 2014-09-25 19:54:53