- 1、extJs如何找到樹的某個節點
- 2、在Extjs4.0中,設置節點為選中狀態
- 3、extjs 給treepanel增加節點
- 4、EXTjs 怎樣遍歷樹的所有節點獲取節點下的值
- 5、extjs怎麼獲取元素節點
- 6、Extjs4 中怎麼獲取根節點並展開第一層
extjs tree的節點裡面的id不是html dom節點的id,你用ext.getCmp()方法是獲取不到這個dom節點的。
要獲取葉子節點的值,首先要獲取節點node,然後用node.attributes.id獲得這個節點的id
給你一段我程序裡面的代碼參考
var root=new Ext.tree.AsyncTreeNode({
id:’root’,
text:’數據維護’,
children:[
{
text:’GPON配置’,
children:[
{id : ‘ont_status_form’,text : ‘查看ONT狀態’,leaf:true}
]
},{
text:’EPON配置’,
children:[
{id : ‘pon_form’,text : ‘查PON口發光功率’,leaf:true}
]
},{
text:’數據模板配置’,
children:[
{id : ‘ont_kdsj_2_form’,text : ‘EPON二平面用戶ONU寬頻數據製作’,leaf:true}
]
},{
text:’ITV配置’,
children:[
{id : ‘egpon_itvcheck_2_form’,text : ‘EPON、GPON E8C二平面數據檢查’,leaf:true}
]
}
]
});
var command_tree = new Ext.tree.TreePanel({
title : “數據維護”,
region : “west”,
width : 200,
height : 50,
split : true,
margins : “0 0 5 5”,
autoScroll : true, //滾動條
collapsible : true,
collapseMode : ‘mini’,
rootVisible : true,
tbar:new Ext.Toolbar(),
root : root,
listeners : {
click : function(node, event) { //樹點擊事件
// click : (Node
if(node.leaf){ //如果是葉子節點
// node,Ext.EventObject e )
alert(node.attributes.id); //這個就是得到節點屬性
}
}
}
});
不需要設置,extjs4的樹節點實際上是這個類Ext.data.NodeInterface
你從後台傳遞到前台樹的json數據格式要滿足這個類的屬性要求,其中checked屬性用來設置該節點是否被勾選
Ext.getCmp(這個treepanel的ID).getRootNode().appendChild(待添加節點或者節點數組),這樣的話就能在樹的根節點上添加一個子節點
//tree 是個Ext.tree.TreePanel對象
var roonodes = tree.getRootNode().childNodes; //獲取主節點
findchildnode(roonodes); //開始遞歸
function findchildnode(node){
var childnodes = node.childNodes;
for(var i=0;ichildnodes.length;i++){ //從節點中取出子節點依次遍歷
var rootnode = roonodes[i];
alert(rootnode.text);
if(rootnode.childNodes.length0){ //判斷子節點下是否存在子節點
findchildnode(rootnode); //如果存在子節點 遞歸
}
}
}
extjs tree的節點裡面的id不是html dom節點的id,你用ext.getCmp()方法是獲取不到這個dom節點的。 要獲取葉子節點的值,首先要獲取節點node,然後用node.attributes.id獲得這個節點的id 給你一段我程序裡面的代碼參考 var root=new Ext.tree.
展開節點的代碼放到你的store的load事件中,ajax是非同步載入的,執行展開代碼先於ajax返回數據
var store = Ext.create(‘Ext.data.TreeStore’, {
//autoLoad : true,
proxy: {
type: ‘ajax’,
url: ‘extjs/compassApi_loadTableListTree.action’,
reader: {
type: ‘json’,
root: ‘children’
}
},
sorters: [{
property: ‘leaf’,
direction: ‘ASC’
}],
root: {
expanded: true
},
listeners:{load: function () {
var rootnode = tree.getRootNode();
console.log(tree.getRootNode());
if (rootnode.childNodes.length 0) {
console.log(1);
rootnode.childNodes[0].expand();
}
}}
});
原創文章,作者:V0WPZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126561.html