如何在Gijgo TreeView中移除父节点的复选框?
如何移除Gijgo Tree父节点的复选框
你可以通过nodeDataBound事件结合DOM操作来移除父节点的复选框,具体实现如下:
- 保留识别父节点的逻辑(判断节点是否包含子节点),替换无效的
node.enableCheckBox = false代码,改为直接操作节点内的复选框DOM元素。 - 利用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
相关产品推荐
相关产品推荐

