问题描述
我尝试对通过 ajax 接收的动态数据使用 select2,作为回应,我收到了上面写的错误。 我究竟做错了什么 ? 这是代码:
$(document).on('change','[name="country"]',function () {
var vehicle_id = $(this).val();
$.ajax({
type: 'GET',url: '{{ route('select_vehicle') }}',data: { vehicle_id: vehicle_id },success: function (data) {
$('.dyn').html(data);
}
});
// $('.dyn').on('DOMNodeInserted','select',function () {$(this).select2();});
var target = $('.dyn'); //elm = $('.select2');
const config = { childList: true };
if (target) {
let observer = new MutationObserver(function (mutations) {
mutations.forEach(function (mutation) {
if (mutation && mutation.addednodes) {
mutation.addednodes.forEach(function (elm) {
if (elm && elm.nodeName === "select") { $(elm).select2(); }
});
}
});
});
observer.observe(target,config);
}
});
感谢您的关注。
解决方法
我解决了这个问题。我在动态结果中放入了 id #inits 的新 div。它有效!感谢您的关注。
$('#inits select.select2').select2();}