extjs版本:2.2
简介:支持单选、异步加载子节点(当然一下子拼接好全部节点的json也是绝对没问题的),要支持多选则需要自行设置,(已测试通过)浏览器兼容ie8、谷歌、FF。
资料参考:搜索一下“ext2 下拉树”,应该有一大堆内容代码介绍完全一样的博文,下面代码就是取自那堆“原创”的博文,不能说明出处,望原作者见谅。本代码在那个基础上有较好的修改:1、修改tree的lorder使tree支持异步加载子节点;2、使下拉树由多选转为单选。
代码如下:
03 | var comboxWithTree = new Ext.form.ComboBox({ |
07 | id: 'zonename' , //hiddenName:'zonename', |
09 | displayField: 'code' ,valueField: 'value' ,mode: 'local' , |
11 | store: new Ext.data.SimpleStore({fields:[],data:[[]]}), |
23 | tpl: "<div style='height:200px'><div id='tree4combox'></div></div>" |
27 | var treelorder = new Ext.tree.TreeLoader({ |
29 | dataUrl : fullpath+ '/systemextend/UserZoneAction!listUserZoneTree4combo.do' |
33 | treelorder.on( "beforeload" , function (treeloader,node){ treelorder.baseParams.comboTreeid = node.attributes.id; },treelorder); |
35 | var tree4combox = new Ext.tree.TreePanel({ |
55 | tree4combox.on( 'click' , function (node){ //点击选中 |
57 | comboxWithTree.setValue(node.text); |
59 | comboxWithTree.collapse(); |
63 | tree4combox.on( 'checkchange' , function (node,checked ){ //勾选复选框选中并清空复选框 |
67 | node.getUI().toggleCheck( false ); |
69 | comboxWithTree.setValue(node.text); |
71 | comboxWithTree.collapse(); |
77 | comboxWithTree.on( 'expand' , function (){ |
79 | tree4combox.render( 'tree4combox' ); |
|