分享

extjs2下拉树选项框comboxWithTree(支持异步加载子节点)

 飞鹰飞龙飞天 2015-01-16

extjs版本:2.2

简介:支持单选、异步加载子节点(当然一下子拼接好全部节点的json也是绝对没问题的),要支持多选则需要自行设置,(已测试通过)浏览器兼容ie8、谷歌、FF。

资料参考:搜索一下“ext2 下拉树”,应该有一大堆内容代码介绍完全一样的博文,下面代码就是取自那堆“原创”的博文,不能说明出处,望原作者见谅。本代码在那个基础上有较好的修改:1、修改tree的lorder使tree支持异步加载子节点;2、使下拉树由多选转为单选。

代码如下:

01/区域下拉树(ext2)
02 
03var comboxWithTree = new Ext.form.ComboBox({
04 
05fieldLabel:'区域',
06 
07id:'zonename', //hiddenName:'zonename',
08 
09displayField:'code',valueField:'value',mode:'local',
10 
11store:new Ext.data.SimpleStore({fields:[],data:[[]]}),
12 
13editable:false,
14 
15shadow:false,
16 
17triggerAction:'all',
18 
19maxHeight: 200,
20 
21anchor:'98%',
22 
23tpl:"<div style='height:200px'><div id='tree4combox'></div></div>"
24 
25});
26 
27var treelorder =  new Ext.tree.TreeLoader({
28 
29dataUrl : fullpath+'/systemextend/UserZoneAction!listUserZoneTree4combo.do'
30 
31});
32 
33treelorder.on("beforeload",function(treeloader,node){ treelorder.baseParams.comboTreeid = node.attributes.id; },treelorder);
34 
35var tree4combox = new Ext.tree.TreePanel({
36 
37border : true,
38 
39rootVisible : true,
40 
41root : {
42 
43text:'全国',
44 
45id:'-1',
46 
47expanded : true
48 
49},
50 
51loader : treelorder
52 
53});
54 
55tree4combox.on('click',function(node){ //点击选中
56 
57comboxWithTree.setValue(node.text);
58 
59comboxWithTree.collapse();
60 
61});
62 
63tree4combox.on('checkchange',function(node,checked ){ //勾选复选框选中并清空复选框
64 
65if(checked==true){
66 
67node.getUI().toggleCheck(false);
68 
69comboxWithTree.setValue(node.text);
70 
71comboxWithTree.collapse();
72 
73}
74 
75});
76 
77comboxWithTree.on('expand',function(){
78 
79tree4combox.render('tree4combox');
80 
81});

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多