Динамическая runtime установка значений для Select2 контрола с свойством multiple (множественного выбора)

204
23 марта 2017, 20:50

Есть обычный SELECT он преобразован в SELECT2 контрол с свойством multiple (множественного выбора). Есть массив с некоторыми опциями из SELECTа и нужно перебирая этот массив установить нужные значения в SELECT2.

Пока получается установить только последний из них вот так:

$("#select").select2('val', [2,4,5]);

Как можно установить несколько значений сразу, что бы они все попали в поле с метками выбора?

Answer 1

Может быть так :

$("#select").select2({ 
  data: [ 
    { 
      id: 'value', 
      text: '1 Text to display' 
    }, 
    { 
      id: 'value', 
      text: '2 Text to display' 
    }, 
    { 
      id: 'value', 
      text: '3 Text to display' 
    }, 
  ] 
});
<script src="https://code.jquery.com/jquery-2.1.4.js"></script> 
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" /> 
  <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script> 
   
  <select id="select"> 
  </select>

Answer 2

Вот так решилось:

$("#select").val([2, 4, 5]).trigger("change");

Через триггер заработало.

READ ALSO
Как сделать в jquery плавный скролинг к якорю?

Как сделать в jquery плавный скролинг к якорю?

Есть код, где переход по ссылке ведет к якорю ajax-представленияКод, динамически меняющегося контента, скрипта ajax работает

312
Jquery: как получить все вложенные элементы, кроме тех, у кого определённый класс

Jquery: как получить все вложенные элементы, кроме тех, у кого определённый класс

Как получить все вложенные элементы, кроме тех, у кого определённый класс?

294
Как сохранить cookie

Как сохранить cookie

При загрузки главной страницы mainpagecom срабатывает анимация $("header")

269
Как масштабировать верстку

Как масштабировать верстку

Есть готовая верстка, width-1920 height-4800 responsiv верстка как в макетеЗаказчику не нравится, что на его мониторе все выглядит большим и требует уменьшить...

220