extjs 如图,实现带有复选框的树/选中父节点时,选中所有子节点。取消所有子节点时,才能取消根节点。

首頁 >web前端 >js教程 >關於extjs treepanel複選框選取父節點與子節點的問題_extjs

關於extjs treepanel複選框選取父節點與子節點的問題_extjs

WBOY
WBOY原創
2016-05-16 17:38:241108瀏覽
關於extjs treepanel複選框選取父節點與子節點的問題_extjs 
extjs 如圖,實作帶有複選框的樹,選取父節點時,選取所有子節點。取消所有子節點時,才能取消根節點。
複製程式碼 程式碼如下:

var Fpanel = new Ext.tree.T. 🎜>id:'ptree',
region:'west',
layout:'anchor',
border:false,
rootVisible: false,
root:new Ext.tree. AsyncTreeNode({}),
listeners:{
"checkchange": function(node, state) {
if (node.parentNode != null) {
//子節點選取
node.cascade(function(node){
node.attributes.checked = state;
node.ui.checkbox.checked = state;
return true;
});
//父節點選取
var pNode = node.parentNode;
if (state || Fpanel.getChecked(id, pNode) == "") {
pNode.ui.toggleCheck(state);
pNode.attributes.checked = state;
}
}
}
}
});
authorityTree(Fpanel);
var authorityTree = function(Freeel){ 🎜>Ext.Ajax.request({
url: 'authorityTree.ashx',
method:'get',
success: function(request) {
var data = Ext.util.JSON .decode(request.responseText);
Fpanel.getRootNode().appendChild(data);
Fpanel.getRootNode().expandChildNodes(true);
Fpanel.expandAll();
,
failure: function() {
Fpanel.render();
Ext.MessageBox.show({
title: '提示',
msg: '器瀏覽或稍後重試! ',
buttons: Ext.MessageBox.OK,
icon: Ext.MessageBox.ERROR
});
}
});
}

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn