当使用ajax

时间:2016-04-14 01:36:19

标签: jquery ajax twitter-bootstrap jquery-select2 select2

我是一个弹出模式,用于在输入中显示动态数据以进行编辑,在同一页面上我使用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">&times;</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>';

1 个答案:

答案 0 :(得分:1)

您可以尝试设置

$('#edit').find('.company_edit').html(r);

$(".select2").select2({
  tags: true,
  tokenSeparators: [',', ' ']
});