Добавление значений к множественному выбору с помощью jQuery select2

Я использую select2 плагин jQuery на <select> с multiple="multiple". Мне нужно добавить значения в выбранный список (т.е. Не ко всем опциям, а к выбранным параметрам, без добавления новой опции).

Я знаю, что я могу установить выбранные параметры this:

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

Или, для нескольких выборов:

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

Однако есть ли способ добавить выбранные параметры в список (т.е. сделать выбор), не удаляя другие?

Ответ 1

Вы должны иметь возможность использовать это:

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

Он добавит новый элемент опции в конец списка.

НТН

Edit

Возьмите 2:) - Я пробовал это в инструментах chrome dev на странице select2. Он работает (я добавил "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"));

Ответ 2

Вот как я это делаю:

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

НТН