使用jQuery的select2将值添加到多重选择中

问题描述:

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

我知道我可以this设置所选选项:

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

或者,进行多选:

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

但是,有没有办法,我可以添加选择的选项的列表(即选择一个选项)而不删除其他人?

您应该能够使用:

$("#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

这是我要做的事:

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

HTH