You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gijgo TreeView中移除父节点的复选框?

如何移除Gijgo Tree父节点的复选框

你可以通过nodeDataBound事件结合DOM操作来移除父节点的复选框,具体实现如下:

  1. 保留识别父节点的逻辑(判断节点是否包含子节点),替换无效的node.enableCheckBox = false代码,改为直接操作节点内的复选框DOM元素。
  2. 利用jQuery选择器定位Gijgo生成的复选框元素(针对bootstrap4 UI库,类名为gj-checkbox-bootstrap),然后移除或隐藏它。

修改后的完整代码:

var tree2 = $('#tree').tree({
    uiLibrary: 'bootstrap4',
    dataSource: '/products/getcategoriestree/' + get_configurator_id(),
    iconsLibrary: 'fontawesome',
    primaryKey: 'id',
    checkboxes: true,                
    icons: {
        expand: '<i class="fa fa-chevron-right"></i>',
        collapse: '<i class="fa fa-chevron-down"></i>'
    }, 
    dataBound: function (e) {
        tree2.expandAll();
    }
});

tree2.on('nodeDataBound', function (e, node, id, record) {                
    // 确保节点存在有效子节点
    if (record["children"] && record["children"].length > 0) {
        // 移除父节点的复选框元素
        $(node).find('.gj-checkbox-bootstrap').remove();
        // 若只需隐藏而非移除,可替换为:$(node).find('.gj-checkbox-bootstrap').hide();
    }
});

补充说明

  • Gijgo Tree会根据你配置的uiLibrary生成对应类名的复选框容器,此处使用bootstrap4,对应类为gj-checkbox-bootstrap,以此可精准定位目标元素。
  • 增加record["children"].length > 0的判断,避免将空数组的节点误判为父节点。

内容的提问来源于stack exchange,提问作者Parteek Singh Bedi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 13:52:36