12

我在和multiple="multiple"上使用select2 jQuery插件。我需要的值添加到選定列表(即不是所有選項,而是添加到所選選項,而不添加新選項)。使用jQuery的select2將值添加到多重選擇中

我知道我可以this設置所選選項:

$("#the_select").select2("val", "the_option_value"); 

或者,進行多選:

$("#the_select").select2("val", ["an_option_value","another_option_value"]); 

但是,有沒有辦法,我可以添加選擇的選項的列表(即選擇一個選項)而不刪除其他人?

回答

34

您應該能夠使用:

$("#the_select").append($('<option>', {value:"NEWVAL", text: "New Option Text"})); 

將新的選項項追加到列表的末尾。

HTH

編輯

以2 :) - 我在Chrome瀏覽器開發工具試過這種在選擇2頁。它的工作原理(我補充說: 「WA」 和Washington出現

var selectedItems = $("#the_select").select2("val"); 
selectedItems.push("NEWITEMVAL"); // I used "WA" here to test. 
$("#the_select").select2("val", selectedItems); 

或者作爲一個班輪:

$("#the_select").select2("val", $("#the_select").select2("val").concat("NEWITEMVAL")); 
+0

對不起,誤解我不想添加一個選項,我想選擇一個選項,並且我懷疑這會在沒有重新初始化的情況下工作e select2插件。 – Keelan

+7

爲什麼選擇投票?你沒有說'我需要爲選定的列表添加值。' :-)它確實無需重新初始化插件。嘗試一下。 –

+0

_Selected_,not _select_。另外,如果你看過代碼,你會看到我正在改變它的值(因此是選中的onces)而不是select的選項。它可能工作,它不會做我所問的,所以這不是我的問題的答案。我會重新修改它以使其更清楚。 – Keelan

0

這是我要做的事:

 $("#the-select") 
     .val($("#the-select") 
      .val() 
      .concat([array_of_existing_values])); 
     $("#the-select") 
     .trigger("change"); 

HTH

相關問題