C# 基于数据id的JsTree复选框检查

C# 基于数据id的JsTree复选框检查,c#,jquery,ajax,asp.net-mvc,jstree,C#,Jquery,Ajax,Asp.net Mvc,Jstree,我想基于数据id选中未选中的复选框。 在下拉更改中,我想选中jstree中未选中的复选框。 我在下面提供我的控制器和Ajax方法 这是我的jstree视图 这是我的控制器: [HttpPost] public ActionResult GetSingleUser(int id) { MachineShopDBEntities DB = new MachineShopDBEntities(); var SPresult = DB.GetSingle

我想基于数据id选中未选中的复选框。 在下拉更改中,我想选中jstree中未选中的复选框。 我在下面提供我的控制器和Ajax方法

这是我的jstree视图

这是我的控制器:

 [HttpPost]
    public ActionResult GetSingleUser(int id)
    {
        MachineShopDBEntities DB = new MachineShopDBEntities();
        var SPresult = DB.GetSingleUser(id).FirstOrDefault();
        return Json(SPresult);
    }
这是我的剧本:

   $("#UserSelect").change(function () {
        $.post("/MenuMaster/GetSingleUser?id=" + $(this).val(),
                function (data, status) {
                    var databaseString = data.MenuEnable;
                    for (i = 0; i <= databaseString.length; i++) {
                        if (databaseString.substring(i, i + 1) == "1") {
                            $('.jstree-container-ul li[data-id=' + (i + 1) + ']').find('.jstree-anchor').addClass('jstree-clicked');
                        }
                    }    
                });
    });
$(“#用户选择”).change(函数(){
$.post(“/MenuMaster/GetSingleUser?id=“+$(this).val()”,
功能(数据、状态){
var-databaseString=data.MenuEnable;

对于(i=0;i,我在这里为您创建了演示

根据下面的代码段进行更改

jQuery(函数($){
$('.menux').jstree({
“core”:{“check_callback”:false},
“复选框:{“保持选定的节点样式”:false,“三个状态”:false,“连接选定的节点”:false,“整个节点”:false,},
“插件”:[“复选框”]
}).bind(“ready.jstree”,函数(事件、数据){
$(this.jstree(“open_all”);
}).on(“check_node.jstree uncheck_node.jstree”,函数(e,数据){
var currentNode=data.node;
var parent_node=$(“.menux”).jstree().get_node(currentNode).parents;
if(data.node.state.checked)
$(“.menux”).jstree().check_节点(父节点[0]);
其他的
$(“.menux”).jstree()。取消选中_节点(父节点[0]);
})
});

  • 根节点1

@Niharika,@Azaz,请告诉我
#UserSelect
是什么,这个复选框id还是其他的?GetSingleUser方法的作用是什么?它是下拉id,它将返回一个基于该字符串的字符串我将找到该字符串的索引,如果我们找到1,那么该索引和jstree数据id将匹配,那么我们必须选中checbox这类逻辑成功。这意味着如果下拉列表中选择的项与jsTree复选框匹配,则单击的
jsTree
类将被应用,对吗?是的,但目前只有该特定复选框我面临的问题是父项被选中,那么它的子项将被自动选择。好的,您能提供给我吗示例数据是下拉列表和jsTree的文本格式,所以我将尝试准备答案you@Azaz汗,看看答案,也许对你有帮助:)嘿!你的代码是正确的,但我不想停止树功能。我想在下拉选择后执行此操作。你能告诉我是否可能。-@ershoaibI将很快更新答案…我会让你知道的this@Azazkhan,在回答中查看编辑部分,并尝试在您身边实施:)因此,在我的情况下,树的功能将被禁用。对吗?如果我想自动检查父项,那么在我的情况下就不可能了,对吗?@ershoaib