13

我在with上使用select2jQuery 插件。我需要值添加到所选列表(即不是所有选项,而是所选选项,而不添加新选项)。<select>multiple="multiple"

我知道我可以用这个设置选定的选项:

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

或者,对于多项选择:

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

但是,有没有一种方法可以将选定的选项添加到列表中(即选择一个选项)而不删除其他选项?

4

2 回答 2

35

你应该可以使用这个:

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

它将新选项项附加到列表的末尾。

高温高压

编辑

拿 2 :) - 我在 select2 页面上的 chrome 开发工具中尝试了这个。它有效(我添加了“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"));
于 2013-06-04T11:12:54.437 回答
1

我就是这样做的:

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

高温高压

于 2017-07-18T09:31:00.500 回答