comebotree树

本文介绍了一个使用Combotree组件实现异步加载树形数据的具体案例。通过Java后端处理请求并返回JSON数据格式,前端通过监听加载成功事件实现自动展开所有节点,并在节点展开前动态加载子节点数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

comebotree树:

 

 

java:

@RequestMapping(value="/combobox.do")

public @ResponseBody
String combobox(String booid){

List<Map<String, Object>> list =new ArrayList<Map<String, Object>>();

List<TestModel> rs=testService.getlists(booid);

for(TestModel md:rs){

Map<String, Object> map = new HashMap<String, Object>();//定义map
map.put("id", md.getBookid());
map.put("text", md.getSummarize());


String pid=String.valueOf(md.getBookid());
int count=testService.getcount(pid);
if(count>0)
{
map.put("state", "closed");
}else{
map.put("state", "open");
}

list.add(map);

}

System.out.println(JSON.toJSONString(list));

return JSON.toJSONString(list);
}

 

 

页面:

$('#CC').combotree({
valueField:'id',
textField:'text',
editable:false,
panelHeight:'auto',
value:'',
url:'test/combobox.do',
onLoadSuccess: function (node, data) {

//异步树全部自动展开
var t = $(this);
if (data) {
$(data).each(function (index, d) {
if (this.state == 'closed') {
t.tree('expandAll');
}
});
}

},
onSelect:function(value){
console.log(value);
},

//异步树动态展开
onBeforeExpand:function(node){
console.log("---node---",node);
$('#CC').combotree("tree").tree("options").url= "test/combobox.do?booid=" + node.id;


}
});

 

转载于:https://www.cnblogs.com/xiexy/p/4136848.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值