关于extjs treepanel复选框选中父节点与子节点的问题_Javascript教程-查字典教程网
关于extjs treepanel复选框选中父节点与子节点的问题
关于extjs treepanel复选框选中父节点与子节点的问题
发布时间:2017-01-14 来源:查字典编辑
摘要:extjs如图,实现带有复选框的树,选中父节点时,选中所有子节点。取消所有子节点时,才能取消根节点。复制代码代码如下:varFpanel=n...

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

复制代码 代码如下:

var Fpanel = new Ext.tree.TreePanel({

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(Fpanel){

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

});

}

});

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类