Extjs实现下拉菜单效果
网络编程 2021-07-04 21:04www.168986.cn编程入门
这篇文章主要为大家介绍了Extjs实现下拉树的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Extjs实现下拉树效果,供大家参考,具体内容如下
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>text8</title> <link rel="stylesheet" type="text/css" href="../../../ext-4.2.1/resources/css/ext-all.css" > <script type="text/javascript" src="../../../ext-4.2.1/bootstrap.js"></script> </head> <body> <script> Ext.define('TreeComboBox',{ extend : 'Ext.form.field.ComboBox', store : { fields:[], data:[[]] }, width:300, editable : false, allowBlank:false, multiSelect : true, listConfig : { resizable:false, minWidth:150, maxWidth:250, }, _idValue : null, _txtValue : null, callback : Ext.emptyFn, treeObj : null, initComponent : function(){ this.treeObj=new Ext.tree.Panel({ border : false, autoScroll : true, rootVisible: false, renderTo:this.treeRenderId, root: { text: 'root',draggable: false,expanded: true, children:[ { text:'一级节点',expanded: true, checked:false , children:[ { text:'二级节点1',leaf:true,checked:false}, { text:'二级节点2',leaf:true,checked:false} ] } , { text:'一级节点',expanded: true, checked:false , children:[ { text:'二级节点1',leaf:true,checked:false}, { text:'二级节点2',leaf:true,checked:false} ] } ] } , listeners:{ checkchange:function(node,state){ if(node.hasChildNodes()){ for(var i=0;i<node.childNodes.length;i++){ node.childNodes[i].set('checked',state); } } } } }); this.treeRenderId = Ext.id(); this.tpl = "<tpl><div id='"+this.treeRenderId+"'></div></tpl>"; this.callParent(arguments); this.on({ 'expand' : function(){ if(!this.treeObj.rendered&&this.treeObj&&!this.readOnly){ Ext.defer(function(){ this.treeObj.render(this.treeRenderId); },100,this); } } }); this.treeObj.on('itemclick',function(view,rec){ / var roonodes = this.treeObj.getRootNode().childNodes; //获取主节点 var childnodes = node.childNodes; //获取zi节点 if (roonodes.getView().getSelectionCount()==1) { for(var i=0;i<childnodes.length;i++){ this.setValue(this._txtValue = rec.get('text')); } }/ if(rec){ //node.getUI().checkbox.indeterminate = true; //半选中状态 this.setValue(this._txtValue = rec.get('text')); //this.collapse();//关闭tree } },this); }, }); //实例化下拉树 var xltree1=new TreeComboBox({ fieldLabel : '下拉树1', name:'xltree1111', allowBlank:true }); var xltree2=new TreeComboBox({ fieldLabel : '下拉树2', name:'xltree2222', allowBlank:true }); Ext.create('Ext.form.Panel', { renderTo: Ext.getBody(), width: 500, bodyPadding: 10, title: 'TreeComboBox', items: [xltree1, xltree2] }); </script> </body> </html>
问题当选中复选框时候,如何使全部选中的条目添加显示到bobox中?
效果
狼蚁网站SEO优化是另一个
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>tabpanel</title> <link rel="stylesheet" type="text/css" href="../../../ext-4.2.1/resources/css/ext-all.css" > <script type="text/javascript" src="../../../ext-4.2.1/bootstrap.js"></script> </head> <body> <script> Ext.onReady(function(){ Ext.create('Ext.window.Window',{ id: 'docaddId', title: 'Preferences', buttonAlign: 'center', width:500, layout:'fit', //height:400, resizable:false, items: Ext.create('Ext.tab.Panel', { //renderTo: Ext.getBody(), items: [{ title: 'A', items:[ //Process and associated workstation下拉选框 { xtype:'container', fieldLabel:'Workstation', items:[{ xtype:"bobox", name : 'Process and associated workstation', fieldLabel : 'Workstation', id:'aaa', layout:'fit', width:480, editable : false, allowBlank : false, multiSelect : true, store : { fields : ['workstationId', 'workstationName'], data : [ {'workstationId':'0',workstationName:'workstation01'}, {'workstationId':'1',workstationName:'workstation02'}, {'workstationId':'2',workstationName:'workstation03'}, {'workstationId':'3',workstationName:'workstation04'} ] }, listConfig : { itemTpl : Ext.create('Ext.XTemplate','<input type=checkbox>{[values.workstationName]}'), onItemSelect : function(record) { var node = this.getNode(record); if (node) { Ext.fly(node).addCls(this.selectedItemCls); var checkboxs = node.getElementsByTagName("input"); if (checkboxs != null) var checkbox = checkboxs[0]; checkbox.checked = true; } }, listeners : { itemclick : function(view, record, item, index, e, eOpts) { var isSelected = view.isSelected(item); var checkboxs = item.getElementsByTagName("input"); if (checkboxs != null) { var checkbox = checkboxs[0]; if (!isSelected) { checkbox.checked = true; } else { checkbox.checked = false; } } } } }, queryMode : 'remote', displayField : 'workstationName', valueField : 'workstationIda', } ] }] }, { title: 'B' }, { title: 'C' }, { title: 'D' }] }) }).show(); }); </script> </body> </html>
效果
以上就是本文的全部内容,希望对大家学习javascript有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程