Jquery 加载选中某些子节点的树时,部分选择父节点

Jquery 加载选中某些子节点的树时,部分选择父节点,jquery,jstree,Jquery,Jstree,我使用的jstree复选框有三种状态-选中、未确定和未选中。当我检查父节点时,会自动检查子节点。选择子节点时,父节点将部分选中。我已在数据库中将选中的、未确定的状态保存为1,未选中的状态保存为0 $('#btnSubmit').bind('click', function (e) { e.preventDefault(); var checked_ids = []; $('.jstree-checked, .jstree-undetermined').each(funct

我使用的jstree复选框有三种状态-选中、未确定和未选中。当我检查父节点时,会自动检查子节点。选择子节点时,父节点将部分选中。我已在数据库中将选中的、未确定的状态保存为1,未选中的状态保存为0

$('#btnSubmit').bind('click', function (e) {
    e.preventDefault();
    var checked_ids = [];
    $('.jstree-checked, .jstree-undetermined').each(function () {
        var id = $(this).children('a').attr('id');
        checked_ids.push(id);
    });

    $.ajax({
        url: '@Url.Action("Action", "Controller")',
        type: 'POST',
        traditional: true,
        data: { AccessIds: checked_ids },
        success: function () {
            checked_ids.length = 0;
            alert('success!');
        },
        error: function () {
            alert('Error!');
        }
    });
    return false;
});
现在我想在三种状态下加载树。如果选择了子级,如何部分选择父级。 我正在做这样的事情:

$(function () {
    $('.divchkboxtree #divtree').jstree({
        "plugins": ["themes", "html_data", "checkbox", "sort", "ui"]
    })
    .bind('loaded.jstree', function () {
        $('.Node').each(function () {
            var id = $(this).attr('id');
            $('.divchkboxtree #divtree').jstree("check_node", '#' + id);
        });
    })
});

此处“.Node”类保存已检查的ID。现在,当我加载树时,问题是在检查父节点的位置检查所有节点,因为我已将部分选择的值保存为1。

最后我得到了答案。我从后端维护它。我有一个字段
Object
,如果它是父项,则该字段为空。因此,我所做的是提取非父数据,也就是说,我提取了那些
IsSelected为1的孩子,也就是说,true
,最后上述代码工作了。以上代码没有更改