jsTree 禁用一些复选框
jsTree disable some of the checkboxes
将 jsTree (3.1.0+) 与复选框插件一起使用是否可以允许并非所有复选框都选中 - 禁用其中一些复选框?
我在这里找到了旧版本 jsTree 的解决方案 jstree disable checkbox 但它不适用于 jsTree 3.1.0+ 版本。
隐藏复选框的解决方案jsTree Hide Checkbox有效,但如果我点击文件夹,隐藏的复选框仍然会被选中。
谢谢。
请记住,除非您将 checkbox.tie_selection
用作 false
,否则选择和检查是一回事。
因此您只需在要禁用的节点上调用 .disable_node()
。
编辑:使用 repo 中的最新代码(注意 - 不是 3.1.1,而是最新代码):
https://github.com/vakata/jstree/archive/master.zip
您现在可以指定 checkbox_disabled
状态:
<div id="jstree">
<ul>
<li data-jstree='{"checked":true}'>checked</li>
<li data-jstree='{"checkbox_disabled":true}'>checked</li>
</ul>
</div>
当然也在JSON:
{ "id" : "Test node", "state" : { "checkbox_disabled" : true } }
您还可以使用 enable_checkbox(node)
和 disable_checkbox(node)
在运行时更改复选框的禁用状态。
要完全隐藏特定节点的复选框,请添加以下 JS 代码
$('#tree_2').on('ready.jstree', function () {
$("#tree_2").jstree().get_node("node1_id").a_attr["class"] = "no_checkbox";
$("#tree_2").jstree().get_node("node2_id").a_attr["class"] = "no_checkbox";
....
});
并在CSS中添加以下样式
.no_checkbox > i.jstree-checkbox {
display: none;
}
它将完全隐藏提供的节点 ID 中的复选框,这对我来说就像一个魅力。 Thanks to this link.
将 jsTree (3.1.0+) 与复选框插件一起使用是否可以允许并非所有复选框都选中 - 禁用其中一些复选框?
我在这里找到了旧版本 jsTree 的解决方案 jstree disable checkbox 但它不适用于 jsTree 3.1.0+ 版本。
隐藏复选框的解决方案jsTree Hide Checkbox有效,但如果我点击文件夹,隐藏的复选框仍然会被选中。
谢谢。
请记住,除非您将 checkbox.tie_selection
用作 false
,否则选择和检查是一回事。
因此您只需在要禁用的节点上调用 .disable_node()
。
编辑:使用 repo 中的最新代码(注意 - 不是 3.1.1,而是最新代码): https://github.com/vakata/jstree/archive/master.zip
您现在可以指定 checkbox_disabled
状态:
<div id="jstree">
<ul>
<li data-jstree='{"checked":true}'>checked</li>
<li data-jstree='{"checkbox_disabled":true}'>checked</li>
</ul>
</div>
当然也在JSON:
{ "id" : "Test node", "state" : { "checkbox_disabled" : true } }
您还可以使用 enable_checkbox(node)
和 disable_checkbox(node)
在运行时更改复选框的禁用状态。
要完全隐藏特定节点的复选框,请添加以下 JS 代码
$('#tree_2').on('ready.jstree', function () {
$("#tree_2").jstree().get_node("node1_id").a_attr["class"] = "no_checkbox";
$("#tree_2").jstree().get_node("node2_id").a_attr["class"] = "no_checkbox";
....
});
并在CSS中添加以下样式
.no_checkbox > i.jstree-checkbox {
display: none;
}
它将完全隐藏提供的节点 ID 中的复选框,这对我来说就像一个魅力。 Thanks to this link.