Я вызвал функцию ajax для изменения html div, в этом содержимом изменения div есть класс jquery select2 для выбора поля. После загрузки ajax этот плагин select2 jquery не работает должным образом.
Это мой js:
$('body').on('click', '.portlet > a.reloadcontent', function(e) {
$.ajax({
type: "GET",
cache: false,
url: url,
dataType: "html",
success: function(res) {
$('#colpart').find('.portlet-body').html(res);
}
});
});
Это мой HTML:
<div id="#colpart">
<a href="#" data-url="columnspage.html" class="reloadcontent" data-load="true">Columns</a>
<div class="portlet-body"></div>
</div>
Columnspage.html
<select class="form-control select2me" data-placeholder="">
<option value=""></option>
<option value="1">Column 1</option>
</select>
Select2me класс для плагина select2 jquery.
2 ответа
Вам необходимо инициализировать выбор после успешного обратного вызова, потому что раскрывающийся список динамически добавляется в DOM,
success:function(res){
$('#colpart').find('.portlet-body').html(res);
// reinit your plugin something like the below code.
$('.select2me').select2();
}
В функции успеха ajax вам необходимо инициализировать select.
Примере:
success: function (html) {
// your code here
$(".select2").select2(); // init the select
}
Похожие вопросы
Связанные вопросы
Новые вопросы
jquery
jQuery — это библиотека JavaScript. Также рассмотрите возможность добавления тега JavaScript. jQuery — это популярная кросс-браузерная библиотека JavaScript, которая упрощает обход объектной модели документа (DOM), обработку событий, анимацию и взаимодействие AJAX, сводя к минимуму расхождения между браузерами. Вопрос с тегом jQuery должен быть связан с jQuery, поэтому jQuery должен использоваться рассматриваемым кодом, и в вопросе должны быть как минимум элементы, связанные с использованием jQuery.