2016-07-01 30 views
2

请帮我解决我的问题。如何使用Ajax和Plugin Select2从数据库中选择数据

$("#kategori_laporan").change(function() { 
     $("#loaderIcon").show(); 
     $("#imgLoader").show(); 
     var id = $(this).val(); 
     $.ajax({ 
      type: "POST", 
      dataType: "html", 
      url: "_views/getAjaxSubKategori.php", 
      data: "id="+id, 
      success: function(data) { 
       $(".select-skategori").select2({ 
        ajax: { 
         url: "_views/getAjaxSubKategori.php", 
         dataType: 'json', 
         data: function(term, page) { 
          search = term.toUpperCase(); 
         }, 
         results: function(datas, page) { 
          return { 
           results: data 
          }; 
         } 
        }, 
         formatResult: function(option) { 
          return "<div>" +option._sub_kategori_laporan+ "</div>"; 
         }, 
         formatSelection: function(option) { 
          return option._sub_kategori_laporan; 
         } 
       }); 
      } 
     }); 
    }); 

数据未显示到子类别中选择。谢谢之前。 屏幕截图>>http://i.imgur.com/FlCeGpo.jpg

回答

0

为什么在初始化select2框之前要发起ajax请求? 我问这个,因为你的select2盒子也在通过ajax请求搜索结果。但也许有一个原因。请解释。

然后我可以在您的屏幕截图中看到,从jsonajax请求返回的数据没有定义值idtext。如果您在json结果中使用其他值('_sub_kategori_id'和'_sub_kategori_laporan'),则必须告诉select2框,您的idtext字段是什么。我认为你可以使用processResults方法来做到这一点,如下所述:

How to load JSON data to use it with select2 plugin