2015-12-08 3 views
1

Я не могу установить начальное значение для экземпляра select2 v4.0.1; выбор создается с помощью тегов: true.Невозможно установить значение для тегов

HTML:

<select id="tags" name="tags" class="form-control" multiple></select> 

JS:

$('#tags').select2({'tags': true}); 

Пробовал с:

<select id="tags" name="tags" class="form-control" multiple> 
<option selected>{{ tag }}</option> 
</select> 

и: $ ('# теги') Select2 ({ 'метки'.: правда}); $ ('# tags'). Val (["test"]). Change();

и другие небольшие изменения, но безрезультатно: '(

Эта документация сниппет, кажется, есть зацепка: https://select2.github.io/announcements-4.0.html#removed-initselection но очень запутанным, я новый пользователь выбор2

Согласно старше. сообщений, это не проблема вообще со старым выбор2 3-й серии, но она включает в себя скрытые проблемы ввода и другие неприятные вещи.

кто-нибудь знает, что я не хватает?

ответ

2

Ответ сам :)

Найдено две жизнеспособные несколько различных способов:

  1. Добавить статическую ребенка <option> элементы

    <select id="tags" multiple="multiple" autocomplete="off"> 
    <option selected>test1</option> 
    <option selected>test2</option> 
    </select> 
    <script type="text/javascript"> 
    $('#tags').select2({tags: true}); 
    </script> 
    
  2. Динамически добавить ребенка <option> элементы, а затем вызвать изменение

    <select id="tags" multiple="multiple" autocomplete="off"></select> 
    <script type="text/javascript"> 
    $('#tags').select2({tags: true}); 
    $('#tags').append("<option selected>test1</option><option selected>test2</option>").change(); 
    }); 
    </script> 
    

Метод val() работает только для выбора опции, а не для добавления/удаления опций для множественного выбора.

Смежные вопросы