Предварительно заполнить выбранные параметры в выпадающем списке select2 - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь предварительно заполнить выбранные параметры, используя 'val', но я получаю только один вариант, который был предварительно выбран в параметрах. JSFiddle code

<select name="question_tags[]" id="question_tags" class="select2_tags" multiple="multiple">

$(document).ready(function() {
            $('.select2_tags').select2({
                placeholder:"Select",
                data : ["Data Structure", "DBMS", "OS"]

            }).select2('val', ["OS", "DBMS"]);
        });

Я использую select2 v4.06

Я исследовал его и обнаружил функциональные возможности, реализованные дляпредыдущая версия select2, которая в настоящее время устарела в последних версиях Существующие решения JSFiddle

Решение по ссылке не работает для текущей версии select2, Как предварительно выбратьзначения в select2 multi select?

1 Ответ

0 голосов
/ 12 мая 2018

Прежде всего вам нужно использовать опцию multiple:true, чтобы сделать его множественным, затем вам нужно использовать SelectElement.val([1,2,3]), а затем SelectElement.trigger('change'), чтобы уведомить любые компоненты JS об изменении значения.Docs Ссылка

См. Демонстрацию ниже

$(document).ready(function() {
  var select2 = $('.select2_tags').select2({
    placeholder: "Select",
    width: '500px',
    data: ["Data Structure", "DBMS", "OS"],
    multiple: true,
  })
  select2.val(["DBMS", "OS"]);
  select2.trigger("change");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet" />
<select name="question_tags[]" id="question_tags" class="select2_tags" multiple="multiple">
</select>
...