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

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

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

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

или, для множественных выборов:

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

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

2 ответов


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

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

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

HTH

редактировать

Возьмите 2:) - я пробовал это в Chrome dev tools на странице select2. Он работает (я добавил " WA " и .

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"));

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

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

HTH