Checkbox 如何知道是否选中了jstree的所有复选框
我正在使用带有复选框的jstree 我还有一个Id为chkSelectAll(全选)的复选框。当用户选择它时,将选中所有jstree复选框,如果取消选择它,则将使用以下代码取消选中所有jstree checkboex:Checkbox 如何知道是否选中了jstree的所有复选框,checkbox,jstree,jstree-search,Checkbox,Jstree,Jstree Search,我正在使用带有复选框的jstree 我还有一个Id为chkSelectAll(全选)的复选框。当用户选择它时,将选中所有jstree复选框,如果取消选择它,则将使用以下代码取消选中所有jstree checkboex: $('#chkSelectAll').change(function() { if ($('#chkSelectAll').is(":checked")) { $("#drpDownSource .sou
$('#chkSelectAll').change(function() {
if ($('#chkSelectAll').is(":checked"))
{
$("#drpDownSource .source-list").jstree().check_all(true);
}
else
{
$("#drpDownSource .source-list").jstree().uncheck_all(true);
}
});
现在,如果手动选中了所有jstree复选框,那么我想选中chkSelectAll复选框,如果未选中任何一个jstree复选框,那么我想取消选中chkSelectAll。我正在使用以下代码:
$('#chkSelectAll').change(function() {
if ($('#chkSelectAll').is(":checked"))
{
$("#drpDownSource .source-list").jstree().check_all(true);
}
else
{
$("#drpDownSource .source-list").jstree().uncheck_all(true);
}
});
所以
如何知道是否选中了所有jstree复选框
.on("check_node.jstree uncheck_node.jstree", function (e, data) {
debugger;
if (e.type == "uncheck_node") {
$("#chkSelectAll").prop( "checked", false );
}
else if (e.type == "check_node") {
// here I get only one checkbox's status.
// How to check all checkboxe's status
}
});
谢谢请看一下
请注意下面
选中节点时触发(仅当复选框设置中的tie_选择为false时)
我希望您的树复选框插件配置将tie_selection
设置为false
如果要查看是否手动选中所有节点以选中上面的“全选”复选框,则可以使用下面的c
else if (e.type == "check_node") {
if ($(this).jstree().get_json('#', {flat:true}).length === $(this).jstree().get_checked(true).length)
$("#chkSelectAll").prop( "checked", true );
}
对于完整且有效的示例,您可以查看一下如果您有一个具有特定id的父节点,那么您可以使用父节点的is_checked(obj)来决定是否检查所有其他节点