使用ajax为树结构选择2 JSON格式

时间:2014-05-02 07:02:10

标签: jquery-select2

我正在尝试使用带有ajax调用的jquery select2插件来开发树结构,该调用返回json格式。我使用struts 2实现它。

我的代码如下

在脚本部分

   <script>
    $(document).ready(function(){
      var id=1;
      $('#sub_lessons').select2({
   minimumInputLength: 3,
   maximumSelectionSize: 1,
   multiple: true, 
   ajax: {
     url: 'getData.action?lid='+id, 
     dataType: 'jsonp',
     quietMillis: 100,
     data: function(term, page) {
       return {
         q: term,  
         page_limit: 10,
         page: page
       };
     },
     results: function(data, page) {
       return {
         results: data,
         more:false
       };
     }
   },
   formatResult: function(data) {
     return data.text;
   },
   formatSelection: function(data) {
     return data.text;
   },
   dropdownCssClass: "bigdrop",  
   escapeMarkup: function(m) {
     return m;
   } 
 });        
      });
   </script> 

和身体部位

 <select id="sub_lessons" class="form-control select2" multiple>
 </select>

此处未调用该操作。如果操作调用它,则返回以下json String

[{&#34;的子&#34;:[{&#34;的子&#34;:[{&#34;的子&#34;:[],&#34; ID&#34;:15, &#34;文字&#34;:&#34;代数3&#34;}],&#34; id&#34;:3,&#34;文字&#34;:&#34;一一&#34 ;},&#34; id&#34;:1,&#34; text&#34;:&#34;另一个&#34;},{&#34;孩子&#34;:[{&#34 ;儿童&#34;:[],&#34; ID&#34;:14,&#34;文本&#34;:&#34;比&#34;}],&#34; ID&#34;:6 ,&#34;文字&#34;:&#34;第一课&#34;},{&#34;儿童&#34;:[],&#34; id&#34;:8,&#34;文字& #34;:&#34;一个1&#34;},{&#34;孩子&#34;:[],&#34; id&#34;:12,&#34;文字&#34;:&# 34;代数2&#34;},{&#34;孩子&#34;:[],&#34; id&#34;:13,&#34;文字&#34;:&#34;第2课&#34 ;},{&#34;儿童&#34;:[],&#34; id&#34;:16,&#34;文字&#34;:&#34;第232课&#34;}]

未调用该操作。 json格式显示在选择框中,如

 1
   1.1
      1.1.1   
   1.2
      1.2.1
      1.2.2
   1.3
   1.4

现在我想使用select 2插件实现相同的功能。

有可能这样做吗? 如果是这样,请帮助我实现这一点。我无法理解我做错了什么。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

似乎只有以下风格,

http://jsbin.com/wicutoti/20/edit

我找到了一些与如何自定义select2的下拉列表相关的主题

https://groups.google.com/forum/#!msg/select2/S0b-JJJIFYY/il-MYOFdGusJ

它指出目前不支持树结构

在那个帖子中,关于树:“还没有,我正在努力为4.0”。然后:“支持树木可能已被搁置4.0”,主要的Select2开发者Igor和Kevin说(看起来,看看GitHub统计数据)。