4

i did called ajax function for html div change, In that div change content have 'select2' jquery class to select box. After ajax loaded that select2 jquery plugin not working properly.

This my 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);
      }
   });
});

This my 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 class for select2 jquery plugin.

Rohan Kumar
  • 40,431
  • 11
  • 76
  • 106
Muthu
  • 432
  • 1
  • 3
  • 19
  • https://stackoverflow.com/questions/28674228/select2-jquery-plugin-not-working-after-ajax-calling-for-html-content-change https://stackoverflow.com/questions/28674228/select2-jquery-plugin-not-working-after-ajax-calling-for-html-content-change https://stackoverflow.com/questions/28674228/select2-jquery-plugin-not-working-after-ajax-calling-for-html-content-change – user16713716 Aug 20 '21 at 12:16

2 Answers2

8

You need to initialize select after success callback, because your drop down is added dynamically in DOM,

success:function(res){
   $('#colpart').find('.portlet-body').html(res);
   // reinit your plugin something like the below code.
   $('.select2me').select2();
}
Rohan Kumar
  • 40,431
  • 11
  • 76
  • 106
0

In the ajax success function you need to initialize the select.

Example:

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