在ajax调用HTML内容更改后,select2 jquery插件无法正常工作

时间:2015-02-23 12:50:06

标签: jquery html ajax jquery-select2

我确实为html div更改调用了ajax函数,因为div更改内容有' select2' jquery类选择框。在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 个答案:

答案 0 :(得分:6)

您需要在成功回调后初始化select,因为您的下拉列表是在DOM中动态添加的,

success:function(res){
   $('#colpart').find('.portlet-body').html(res);
   // reinit your plugin something like the below code.
   $('.select2me').select2();
}

答案 1 :(得分:0)

在ajax成功函数中,您需要初始化选择。

示例:

    success: function (html) {
        // your code here
        $(".select2").select2(); // init the select
    }