jQuery select2 — изменение выбранных значений при обнаружении определенного значения

#javascript #jquery #jquery-select2

#javascript #jquery #jquery-select2

Вопрос:

Я использую плагин select2 для выполнения множественного выбора на основе ajax.

Что я хочу сделать, так это когда пользователь выбирает элемент из выпадающего списка, и если этот элемент имеет определенное значение, я хочу изменить список выбранных элементов.

Итак,

 vals = $(".myselect").select("val")
if _.indexOf(vals, "particular_value") > -1
  $(".myselect").select("val", ["another value"])
 

Однако на самом деле это не обновляет выбранные значения визуально. Но если я это сделаю

 vals = $(".myselect").select("val")
if _.indexOf(vals, "particular_value") > -1
  $(".myselect").select("val", ["another value"])
  console.log $(".myselect").select("val")
 

Затем я получаю [«другое значение»] на консоли, что правильно. Это не отражается на самом элементе.

Я также пытался

   $(".myselect").select("val", ["another value"]).trigger("change")
 

Но все еще не обновляется.

Есть идеи?

Ответ №1:

вы должны сделать так:

 $(".select").select2("val","SomeValue");
 

ВОТ документация