0

У меня проблема с подключением Select2() v4.0. Я хочу загрузить удаленные данные в mi Modal из boostrap и отредактировать эти значения. Мой код:Загрузка и редактирование удаленных данных с помощью Select2() 4.0

HTML

<select id="txtAsistentes" class="js-example-basic-multiple" multiple="multiple" style="width: 100%" /> 

JS

ControlToSelect2Format: function (controlId,ocultos) { 
    var control = "#" + controlId; 
    $(control).select2({   
     minimumInputLength: 2, // minimumInputLength for sending ajax request to server 
     width: 'resolve', // to adjust proper width of select2 wrapped elements 
     tags: false, 
     allowClear: false, 
     multiple: true, 
     ajax: { 
      url: "/Home/SearchUserAD/", 
      dataType: 'jsonp', 
      data: function (params) { 
       return { 
        term: params.term, // search term 
        page: params.page 
       }; 
      }, 
      processResults: function (data, page) {     
       return { results: data.Results }; 
      } 
     },   
     initSelection: function (element, callback) { 
      var id = $("#hdReservaId").val(); 
      if (id !== "") { 
       $.ajax({ 
        url: "/Home/GetAsistentesReserva/", 
        dataType: "jsonp", 
        data: { idReserva: id }      
       }).done(function (data) { 

        callback(data.Results); 
       }) 
      } 
     } 
    }); 
} 

InitSelection его нормально, потому что я использую "select2.full.min.js", но проблема в том, когда я пытаюсь отредактируйте значения, которые инициализируют InitSelection для моего элемента управления select2. Я теряю значения и очищаю элемент управления.

Как редактировать начальные значения без удаления значений?

Моя проблема в том, что я хочу редактировать данные, которые я создал и сохранил ранее. Я не знаю, как редактирование с помощью select2()

Спасибо!

+0

Выбор не может быть закрыт сам, вы должны использовать ''. –

+0

@KevinBrown Моя проблема в том, когда я хочу редактировать данные, которые я создал и сохранил ранее. Я не знаю, как редактирование с помощью select2() –

ответ

0

Наконец, мое решение было поместить этот код после отборной инициализации(), и удалить код initSelection:

var id = $("#hdReservaId").val(); 
    if (id !== "") { 
     $.ajax({ 
      url: "/Home/GetAsistentesReserva/", 
      dataType: "jsonp", 
      data: { idReserva: id } 
     }).then(function (data) { 
      data.Results.forEach(function (entry) { 
       //alert(entry); 
       var $option = $('<option selected>' + entry.text + '</option>').val(entry.id); 
       $(control).append($option).trigger('change'); 
      }); 
      $(control).trigger('change'); 
     }); 
    } 

если модальный открыто для редактирования, вызов AJAX для получения данных редактирования. С помощью этого метода я могу без проблем редактировать данные из select2() multiselect.

Благодарим вас за поддержку!