我正在尝试使用带有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插件实现相同的功能。
有可能这样做吗? 如果是这样,请帮助我实现这一点。我无法理解我做错了什么。
任何帮助将不胜感激。
答案 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统计数据)。