使用 ajax 动态创建时,Select2 未在 bootstrap 模态中初始化
Select2 not getting initialized in bootstrap modal when created dynamically using ajax
我是一个弹出模式,用于在输入中显示动态数据以便编辑,在同一页面上我使用 select2 没有任何问题,但在模式中它看起来在加载后没有被初始化,即使 jquery 正在使用此模式成功初始化它(或者这是它应该做的):
<div class="modal fade" id="edit" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Edit</h4>
</div>
<div class="modal-body">
<div class="company_edit">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div></div></div> </div>
和jquery:
$('.btn.btn-primary.btn-xs').on('click', function () {
var company_id = $(this).attr('value');
$.ajax({
type: 'post',
url: 'dist/php/info_to_edit.php',
data: 'post_id=' + company_id,
success: function (r)
{
$(".select2").select2({
tags: true,
tokenSeparators: [',', ' ']
});
// now you can show output in your modal
$('#edit').modal('show'); // put your modal id
$('#edit').find('.company_edit').html(r);
}});});
和 php 片段:
echo '<select name="countries_import[]" class="form-control select2" multiple="multiple" id="import_select"></select>';
您可以尝试设置
$('#edit').find('.company_edit').html(r);
之前
$(".select2").select2({
tags: true,
tokenSeparators: [',', ' ']
});
我是一个弹出模式,用于在输入中显示动态数据以便编辑,在同一页面上我使用 select2 没有任何问题,但在模式中它看起来在加载后没有被初始化,即使 jquery 正在使用此模式成功初始化它(或者这是它应该做的):
<div class="modal fade" id="edit" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Edit</h4>
</div>
<div class="modal-body">
<div class="company_edit">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div></div></div> </div>
和jquery:
$('.btn.btn-primary.btn-xs').on('click', function () {
var company_id = $(this).attr('value');
$.ajax({
type: 'post',
url: 'dist/php/info_to_edit.php',
data: 'post_id=' + company_id,
success: function (r)
{
$(".select2").select2({
tags: true,
tokenSeparators: [',', ' ']
});
// now you can show output in your modal
$('#edit').modal('show'); // put your modal id
$('#edit').find('.company_edit').html(r);
}});});
和 php 片段:
echo '<select name="countries_import[]" class="form-control select2" multiple="multiple" id="import_select"></select>';
您可以尝试设置
$('#edit').find('.company_edit').html(r);
之前
$(".select2").select2({
tags: true,
tokenSeparators: [',', ' ']
});