带树的下拉框

项目中用到的一个带树的下拉框

var unitCB = new Ext.form.ComboBox({// 所属单位选择框
fieldLabel : '所属单位',
resizable : true,
store : new Ext.data.SimpleStore({
fields : [],
data : [[]]
}),
editable : false,
valueField : 'id',
displayField : 'text',
value : ' ',
maxHeight : 390,
// labelStyle : micolor,
anchor : '84%',
mode : 'local',
triggerAction : 'all',
allowBlank : false,
onSelect : Ext.emptyFn(),
emptyText : '请选择所属单位'
});

add_unitCB.tpl = '<tpl for="."><div id="' + unitCB.getId()
+ 'orgTpl" style="height:390px;width:100"><div id="'
+ unitCB.getId() + 'orgTreeDiv"></div></div></tpl>';
var orgTreeloader = new Ext.tree.TreeLoader({
url : '/stm/system/org.do?method=findOrgTree'
});

orgTreeloader.on('beforeload', function(orgTreeloader, node) {
this.baseParams.id = node.attributes.id; // set parameter
});

var orgTreeRoot = new Ext.tree.AsyncTreeNode({
id : '00',
text : '根节点'
});

var orgTree = new Ext.tree.TreePanel({
width : 210,
autoScroll : true,
containerScroll : true,
collapsible : true,
loader : orgTreeloader,
root : orgTreeRoot,
animate : false,
border : false,
rootVisible : true,
border : false
});

var org_id; // 存储所属单位的ID
// 监听下拉树的节点单击事件
orgTree.on('click', function(node) {
org_id = node.attributes.id;
unitCB.setValue(node.text);
unitCB.collapse();
});
// 默认选择总公司
unitCB.on('render', function() {
org_id = '00';
unitCB.setValue('根节点');
});
// 监听下拉框的下拉展开事件 下拉框中加入树
unitCB.on('expand', function() {
// 将UI树挂到treeDiv容器
orgTree.root.reload(); // 每次下拉都会加载数据
// orgTree.root.expand(); //只是第一次下拉会加载数据
orgTree.render(unitCB.getId() + 'orgTreeDiv');
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值