2015-10-17 526 views
5

我使用Silvio Moreto的Bootstrap Select。bootstrap-select添加項並選擇它

在我的頁面上,我有一個按鈕,可打開一個帶有輸入框的模式,以允許您將項目添加到selectpicker。然後我想自動選擇該項目,但我無法使其工作。

我的代碼是:

$('#myselect').append('<option val="'+newitemnum+'">'+newitemdesc+'</option>'); 
$('#myselect').val(newitemnum); 
$('#myselect').selectpicker('refresh'); 

但它是行不通的。該項目未被選中。

我試圖與替代選擇線:

$('#myselect').selectpicker('val',newitemnum); 

但是,這並不工作,要麼

大加讚賞(儘管該項目不會獲取添加到selectpicker)任何想法。

+0

按照[庫文件](https://silviomoreto.github.io/bootstrap-select/),您的第二代碼段應產生預期的結果。它在運行該語句後是否在控制檯中顯示任何錯誤消息? – Ryan

+0

什麼都沒有,它增加了selectpicker的價值,但不選擇它 - 它默認它爲「Nothing Selected」 –

回答

22

你有一個錯字。相反的:

$('#myselect').append('<option val="'+newitemnum+'">'+newitemdesc+'</option>'); 

您需要:

$('#myselect').append('<option value="'+newitemnum+'">'+newitemdesc+'</option>'); 

這裏是一個的jsfiddle演示:http://jsfiddle.net/xbr5agqt/

「添加並選擇 '醬油' 選項」 按鈕,執行以下操作:

$("#myselect").append('<option value="'+newitemnum+'">'+newitemdesc+'</option>'); 
$("#myselect").val(4); 
$("#myselect").selectpicker("refresh"); 

一個稍快的方法(用於「添加並選擇'可用'選項'按鈕)用於追加與已經應用selected屬性的新<選項>元素:

$("#myselect").append('<option value="'+newitemnum+'" selected="">'+newitemdesc+'</option>'); 
$("#myselect").selectpicker("refresh"); 
+0

太棒了!就是這樣!捂臉!令人驚訝的是,其他人看着你的代碼可以發現幾個小時以來你一直在尋找的顯而易見的東西(val而不是價值)。感謝v多:) –

+0

它在可搜索的selctpiker woking? –

相關問題