当前位置: 代码迷 >> Web前端 >> EXT 树形结构 增加的时候 上拉列表里的树形结构
  详细解决方案

EXT 树形结构 增加的时候 上拉列表里的树形结构

热度:116   发布时间:2012-08-21 13:00:22.0
EXT 树形结构 增加的时候 下拉列表里的树形结构

??? ??? //添加接口
??? ??? var treeIface = new Ext.tree.TreePanel({
??? ??? ??? title : '接口',
??? ??? ??? split : true,
??? ??? ??? frame:false,
??? ??? ??? border : true,
??? ??? ??? collapsible : true,
??? ??? ??? width : 250,
??? ??? ??? minSize : 80,
??? ??? ??? maxSize : 250,
??? ??? ??? enableDD : true,
??? ??? ??? autoScroll : true,
??? ??? ??? loader : new Ext.tree.TreeLoader({
??? ??? ??? ??? ??? ??? //applyLoader : true,
??? ??? ??? ??? ??? ??? url : 'merchant__loadAddFormIface.action'
??? ??? ??? ??? ??? }),
??? ??? ??? root: new Ext.tree.AsyncTreeNode( {
??? ??? ??? ??? id : "0",
??? ??? ??? ??? text : "添加接口"
??? ??? ??? ??? //expandable: true,
??? ??????????? //expanded: true
??? ??? ??? }),
??? ??? ??? rootVisible: false,
??? ??? ??? listeners : {
??? ??? ??? ??? checkchange : function(node, event) {
??? ??? ??? ??? ???
??? ??? ??? ??? ??? ??? var parentNode = node.parentNode;
??? ??? ??? ??? ??? ??? var childs = parentNode.childNodes;// 获得兄弟节点
??? ??? ??? ??? ??? ??? if (node.ui.isChecked() == true) {
??? ??? ??? ??? ??? ??? ??? parentNode.attributes.checked = true;
??? ??? ??? ??? ??? ??? ??? parentNode.ui.toggleCheck(true);
??? ??? ??? ??? ??? ??? } else {
??? ??? ??? ??? ??? ??? ??? var flag = false;
??? ??? ??? ??? ??? ??? ??? node.attributes.checked = flag;
??? ??? ??? ??? ??? ??? ??? for ( var i = 0; i < childs.length; i++) {
??? ??? ??? ??? ??? ??? ??? ??? if (childs[i].ui.isChecked() == true) {
??? ??? ??? ??? ??? ??? ??? ??? ??? flag = true;
??? ??? ??? ??? ??? ??? ??? ??? }
??? ??? ??? ??? ??? ??? ??? }
??? ??? ??? ??? ??? ??? ??? if (flag == false) {
??? ??? ??? ??? ??? ??? ??? ??? parentNode.attributes.checked = flag;
??? ??? ??? ??? ??? ??? ??? ??? parentNode.ui.toggleCheck(flag);
??? ??? ??? ??? ??? ??? ??? }
??? ??? ??? ??? ??? ??? }
??? ??? ??? ??? ???
??? ??? ??? ??? },
??? ??? ??? ??? click : function(node, event) {
??? ??? ??? ??? ??? node.expand();
??? ??? ??? ??? },
??? ??? ??? ??? expandnode : function(node, event) {
??? ??? ??? ??? }
??? ??? ??? }

});??? ???


??? ??? ??? ??? var iface = new Ext.form.ComboBox(
??? ??? ??? ??? {
??? ??? ??? ??? editable : false,
??? ??? ??? ??? fieldLabel : '接口',??? ??? ??? ???
??? ??? ??? ??? name : 'iface',
??? ??? ??? ??? hiddenName : 'iface',
??? ??? ??? ??? width : 150,
??? ??? ??? ??? mode : 'local',
??? ??? ??? ??? triggerAction : 'all',??? ??? ??? ??? ???
??? ??? ??? ??? tpl: '<div id="treeIface" style="height:200px;width:144px;"></div>',
??? ??? ??? ??? store : new Ext.data.SimpleStore({ fields: [], data: [[]] }),
??? ??? ??? ??? valueField : 'value',
??? ??? ??? ??? value:'',
??? ??? ??? ??? displayField : 'text',
??? ??? ??? ??? editable : false
??? ??? ??? ??? });???
??? ??? ??? ??? iface.on('expand', function() { treeIface.render('treeIface'); });
??? ??? ??? ??? var nodeIfaceArray = new Array();
??? ??? ??? ??? var treeIface_click = function(node, e) {
??? ??? ??? ???
??? ??? ??? ??? var nodeIfaceValue ='';??? ??? ??? ?
??? ??? ??? ??? // if (node.attributes.leaf) {
??? ??? ??? ??? if (node.attributes.checked == true) {??? ??? ??? ?
??? ??? ??? ??? var temp =1;
??? ??? ??? ??? for ( var j = 0; j < nodeIfaceArray.length; j++) {
??? ??? ??? ???
??? ??? ??? ??? if(nodeIfaceArray[j].attributes.id==node.attributes.id){
??? ??? ??? ??? ??? ?
??? ??? ??? ??? ??? ?temp +=1;???
??? ??? ??? ??? ??? }
??? ??? ??? ??? }
??? ??? ??? ???
??? ??? ??? ??? if(temp==1){
??? ??? ??? ???
??? ??? ??? ??? ??? nodeIfaceArray.push(node);
??? ??? ??? ??? }?? ??? ???
??? ??? ??? ???
??? ??? ??? ??? }
??? ??? ??? ??? if (node.attributes.checked == false) {
??? ??? ??? ???
??? ??? ??? ??? for ( var i = 0; i < nodeIfaceArray.length; i++) {
??? ??? ??? ??? if(nodeIfaceArray[i].attributes.id==node.attributes.id){
??? ??? ??? ??? ??? nodeIfaceArray.splice(i,1);
??? ??? ??? ??? ??? //nodeArray[i].attributes.id='';
??? ??? ??? ??? ???
??? ??? ??? ??? ?}
??? ??? ??? ??? ?
??? ??? ??? ??? ???
??? ??? ??? ??? ?
??? ??? ??? ??? ?
??? ??? ??? ??? }?
??? ??? ??? ??? }
??? ??? ??? ??? for ( var i = 0; i < nodeIfaceArray.length; i++) {
??? ??? ??? ??? if(nodeIfaceArray[i].attributes.id!=''){
??? ??? ??? ??? ??? nodeIfaceValue +=nodeIfaceArray[i].attributes.id+" ";
??? ??? ??? ??? //nodeValue +=' ';
??? ??? ??? ??? }
??? ??? ??? ??? }
??? ??? ??? ??? iface.setValue(nodeIfaceValue);
??? ??? ??? ??? };
??? ??? ??? ??? // tree.on("click", tree_click);
??? ??? ??? ???
??? ??? ??? ??? treeIface.on("checkchange", treeIface_click);

  相关解决方案