`
chenxueyong
  • 浏览: 342382 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Ext2--含有树的下拉框(代码+图)

阅读更多

一.首先引入对象ComboBoxTree



ComboBoxTree = Ext.extend(Ext.form.ComboBox, {


passName : 'id',


allowUnLeafClick : true,


// tpl: '<div id="treeTpl"></div>', //html代码

treeHeight : 180,

store : new Ext.data.SimpleStore({
fields : [],
data : [[]]
}),

//Default
editable : false, // 禁止手写及联想功能
mode : 'local',
triggerAction : 'all',
maxHeight : 500,
selectedClass : '',
onSelect : Ext.emptyFn,
emptyText : '请选择...',


clearValue : function() {
if (this.passField) {
this.passField.value = '';
}

this.setRawValue('');
},


setPassValue: function(passvalue){
if (this.passField)
this.passField.value = passvalue;
},


onTreeSelected : function(node) {

},


treeClk : function(node, e) {
if (!node.isLeaf() && !this.allowUnLeafClick) {
e.stopEvent();// 非叶子节点则不触发
return;
}
this.setValue(node.text);// 设置option值
this.collapse();// 隐藏option列表

if (this.passField)
this.passField.value = node.id;// 以树的节点ID传递

// 选中树节点后的触发事件
this.fireEvent('treeselected', node);

},


initComponent : function() {
ComboBoxTree.superclass.initComponent.call(this);
this.tree.autoScroll = true;
this.tree.height = this.treeHeight;
this.tree.containerScroll = false;
this.tplId = Ext.id();
// overflow:auto"
this.tpl = '<div id="' + this.tplId + '" style="' + this.treeHeight
+ '";overflow:hidden;"></div>';


this.addEvents('treeselected');
// this.on('treeselected',this.onTreeSelected,this);
},


listeners : {
'expand' : {
fn : function() {
if (!this.tree.rendered && this.tplId) {

this.tree.render(this.tplId);

}
this.tree.show();
},
single : true
},

'render' : {
fn : function() {

this.tree.on('click', this.treeClk, this);


if (this.passName) {
this.passField = this.getEl().insertSibling({
tag : 'input',
type : 'hidden',
name : this.passName,
id : this.passId || Ext.id()
}, 'before', true)
}

this.passField.value = this.passValue !== undefined
? this.passValue
: (this.value !== undefined ? this.value : '');

this.el.dom.removeAttribute('name');
}
},
'beforedestroy' : {
fn : function(cmp) {
this.purgeListeners();
this.tree.purgeListeners();
}
}
}

});


Ext.reg('combotree', ComboBoxTree);

 

二.生成含有树的下拉框

//定义一个树形
var contenttree = new Ext.tree.TreePanel({
rootVisible:false,
root:new Ext.tree.AsyncTreeNode({
id:'0',
text:'',
expanded:true,
loader:new Ext.tree.TreeLoader({
dataUrl:'operation/base/querycontenttree.jsp'
})
})
});
//树在Load时自动展开
contenttree.on('load', function(node, checked) {
node.expand();
node.eachChild(function(child) {
child.expand();
});
});
//定义下拉树对象
var contenttreecombo = new ComboBoxTree({
width:130,
allowBlank : false,
//allowUnLeafClick:false,//只允许选择叶子
treeHeight:200,
emptyText:'请选择...',
tree:contenttree
});

分享到:
评论

相关推荐

    ext-----多选下拉框

    2. **多选配置**: 要将`ComboBox`转换为多选下拉框,你需要设置`multiSelect`属性为`true`。默认情况下,`multiSelect`是`false`,意味着只能单选。同时,你可能还需要设置`typeAhead`为`false`,因为在多选模式下,...

    毕业设计-微服务疫苗预约系统源代码+数据库+前后端分离

    选择所在大区&&大区中选择一个社区--&gt;选取--&gt;下拉框; 选择所在大区接种点(自由选择) 选择所选日期内是否可以预约(后台数据库); 预约提醒--&gt;短信or邮件 预约成功与约定时间前一天; 疫苗(大区显示全部疫苗, 分区...

    jQuery插件---mcdropdow.(仿下拉框多层次)

    jQuery插件---mcdropdow.(仿下拉框多层次)jQuery插件---mcdropdow.(仿下拉框多层次)jQuery插件---mcdropdow.(仿下拉框多层次)jQuery插件---mcdropdow.(仿下拉框多层次)jQuery插件---mcdropdow.(仿下拉框多层次)

    bootstrap select树形下拉框

    同时,可能还需要引入一个专门处理树形结构的库,如jQuery Treeview或Select2的树形插件。 下面是一些关键步骤和知识点: 1. **HTML结构**:基础的HTML下拉框应该包含一个`&lt;select&gt;`元素,其中每个`&lt;option&gt;`代表...

    EXT下拉框显示树形结构源代码

    通过阅读和理解"ComboTree.js"文件的代码,你可以掌握如何在EXT应用程序中实现下拉框显示树形结构的功能,这将对你的EXT开发技能有所提升。同时,也可以根据实际需求调整代码,实现更复杂的交互和定制化功能。

    纯js实现多级联动下拉框html+js代码,适合高并发

    三级联动下拉框, 也可以扩展为N级联动, 自动判别 label, value, 速度快,项目中肯定用得到

    bootstrap树形下拉框 下拉框树形菜单(花了一小时修改过的)

    2. **HTML结构**:要创建一个树形下拉框,首先需要一个基础的HTML结构,通常包括一个`&lt;select&gt;`元素和对应的`&lt;option&gt;`元素。但在这个情况下,由于我们需要树形结构,所以需要使用`&lt;ul&gt;`和`&lt;li&gt;`元素来表示树的层次...

    bootstrap-select 下拉框demo(含多种样式)

    bootstrap-select 下拉框demobootstrap-select 下拉框demobootstrap-select 下拉框demobootstrap-select 下拉框demobootstrap-select 下拉框demobootstrap-select 下拉框demobootstrap-select 下拉框demobootstrap-...

    jQuery插件-多选全选实时搜索下拉框

    **jQuery插件-多选全选实时搜索下拉框** 在前端开发中,用户界面的交互性和用户体验至关重要。jQuery作为一款强大的JavaScript库,为开发者提供了许多便利,使得创建动态、响应式的网页变得更加容易。"jQuery插件-...

    TreeCombo,Ext TreeCombo 树形 下拉框,树形下拉框

    TreeCombo是Ext JS库中的一个组件,它结合了树形结构和下拉框的功能,为用户提供了一种在有限空间内展示复杂数据结构的选择方式。在Web应用开发中,这种组件非常实用,尤其当用户需要从层次化的选项中进行选择时。 ...

    html-jquery多语言选择下拉框

    在上述代码中,`$.getScript()`会异步加载指定路径的CSS文件,一旦加载完成,页面会自动应用新的样式,从而实现内容的多语言显示。 为了实现浏览器语言的自动检测,可以使用JavaScript的`navigator.language`属性。...

    批量添加数据的表单界面(表单含树形下拉框)vue + element

    在本项目"批量添加数据的表单界面(表单含树形下拉框)vue + element"中,我们将重点关注如何利用Vue.js和Element UI来实现这样一个功能。 首先,Vue.js是基于组件化的前端框架,它允许我们将应用拆分为独立可复用...

    extjs-Ext.ux.form.LovCombo下拉框

    在EXTJS框架中,`Ext.ux.form.LovCombo`是一种自定义组件,它扩展了基本的`Ext.form.field.ComboBox`,提供了更丰富的功能,尤其是针对多选和联动选择的需求。这个组件通常用于创建具有“lov”(即“Look Up Value”...

    select2-4.0.12.zip(下拉框带搜索css和js)

    《Select2 4.0.12:打造高级下拉框搜索体验的CSS与JS库》 Select2是一款强大的jQuery插件,专为创建功能丰富的下拉选择器而设计。在4.0.12这个版本中,它提供了集成的CSS样式和JavaScript功能,使得在网页上构建...

    layui组件之树形下拉框

    2. **ZTree介绍**:ZTree是一个基于jQuery的树形插件,它提供丰富的API和灵活的配置选项,支持动态加载、拖拽、节点操作等多种功能。在实现layui的树形下拉框时,需要引入ZTree的JavaScript文件和样式文件。 3. **...

    bootstrap树形下拉框 下拉框树形菜单

    Bootstrap Tree形下拉框是一种将传统的下拉菜单与树形结构结合的UI组件,它使得在有限的空间内展示层级关系的数据变得更加便捷。这种组件通常用于需要用户从一个多级分类中选择一个选项的情况,例如在组织架构、地区...

    二级关联下拉框jquery+ json java jsp

    "category1": ["子类别1-1", "子类别1-2"], "category2": ["子类别2-1", "子类别2-2"] } ``` Java作为后端开发语言,负责处理请求、查询数据库并生成JSON响应。这里,`studentServlet`是Java的Servlet,它接收...

    ext 下拉树 ext2

    标题中的"ext 下拉树 ext2"指的是使用Ext JS库构建的一个特定版本的下拉树组件,其中"ext2"可能表示使用的是Ext JS的2.x版本。Ext JS是一个强大的JavaScript框架,主要用于构建富客户端Web应用程序,它提供了一系列...

    Ext TreeCombo 树形 下拉框

    标题中的“Ext TreeCombo 树形下拉框”是指在ExtJS库中使用的一种特定的UI组件,TreeCombo。这是一个结合了树形结构和下拉框功能的控件,允许用户从一个层次化的数据结构中选择一个或多个项。在ExtJS中,TreePanel...

Global site tag (gtag.js) - Google Analytics