2017-01-12 2 views
0

Я использую Select2 внутри моего проекта MVC Asp.net. Я создал веб-журнал. у каждого сообщения есть несколько тегов. Я использую select2 multiselect для выбора тегов. На странице создания я могу искать и выбирать теги и сохранять в базе данных.preselect Элемент в select2

проблема: in редактирование страница тоже мой select2 хорошо работает. но я хочу добавить некоторые теги в edit pageload, которые пользователь добавил на странице создания. то пользователь может изменять теги. Я не могу заранее выбрать теги в выбор2

+0

я нашел правильный ответ здесь [http://stackoverflow.com/a/3740912/6303651 ] (http://stackoverflow.com/a/3740912/6303651) – matius

ответ

0

Эта маленькая функция JQuery будет добавить опции к выбор2

$.fn.select2AddOptions = function(options) { 
    this.each(function(){ 
     var $ele = $(this); 
     var data = $ele.data('select2'); 
     if(data) //the $.extend is not recursive change the false for true if needed 
      $ele.select2($.extend(false,{},data.options.options,options)); 
    }); 
    return this; 
} 

Затем вы можете использовать его, чтобы добавить дополнительные данные, которые не внутри <option> или Выбор2 данные:

$('#element').select2AddOptions(
{data:[{id:{{ location.id }},text:'{{ location.name }}',color:'{{ location.color }}'}]} 
).trigger('change'); 

Если вам необходимо изменить выбранный элемент:

$('#element').val(['id1','id2']).trigger('change'); 

я вам нужен, что ВЫБ.2 огонь его событие, когда вы выбираете опцию вам нужно будет стрелять в ручную событие так:

$('#element').trigger($.Event('select2:select', {params: {data: [...]}})) 
+0

спасибо вам большое – matius

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