• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    关于extjs treepanel复选框选中父节点与子节点的问题

    发布者: 福建二哥 | 发布时间: 2025-8-13 15:07| 查看数: 39| 评论数: 0|帖子模式


    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
    });
    }
    });
    }

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表