Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSTREE在第二次加载时失败_Javascript_Jquery_Jstree_Asp.net Mvc 5 - Fatal编程技术网

Javascript JSTREE在第二次加载时失败

Javascript JSTREE在第二次加载时失败,javascript,jquery,jstree,asp.net-mvc-5,Javascript,Jquery,Jstree,Asp.net Mvc 5,我正在构建一个MVC5Web应用程序,其中我在视图上有一个JSTREE实例。树正在加载,但当我更改了数据库中的som数据,以及如何重新加载树时,会出现错误: 未捕获的TypeError:$(…)。jstree不是函数 无论我如何处理树、重新加载、刷新等等,都会出现这个错误 失败的例子如下: $(“树”) jstree先生({ “核心”:{ “数据”:[{文本:“节点”,“子节点”:[“1”,“2”]}] } }); $(“#rfr”) .on(“点击”),功能(e,数据){ $(“#树”).j

我正在构建一个MVC5Web应用程序,其中我在视图上有一个JSTREE实例。树正在加载,但当我更改了数据库中的som数据,以及如何重新加载树时,会出现错误:

未捕获的TypeError:$(…)。jstree不是函数

无论我如何处理树、重新加载、刷新等等,都会出现这个错误

失败的例子如下:

$(“树”)
jstree先生({
“核心”:{
“数据”:[{文本:“节点”,“子节点”:[“1”,“2”]}]
}
});
$(“#rfr”)
.on(“点击”),功能(e,数据){
$(“#树”).jstree(true)。取消选择_all();
$(“#tree”).jstree(true.refresh();
$(“#树”).jstree(“刷新”);
});
@{
ViewBag.Title=“OrgAdmin”;
}

刷新
我在为“全部关闭”和“全部展开”添加两个按钮时遇到了类似的问题,并通过在_Layout.cshtml文件中注释掉jquery绑定行来解决:

@Scripts.Render("~/bundles/jquery")
显然,源代码似乎包含了两次jquery引用,一次在_Layout.cshtml文件中,另一次在我的视图文件中。一旦我删除了jquery包,它就工作得很好。我想我必须在其他视图中显式地添加jquery引用。希望有帮助

以下是查看代码:

@using OrgChart.Models;
@using OrgChart.Controllers;
@model IEnumerable<TreeNode>
@{  ViewBag.Title = "Home Page";}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.1/themes/default/style.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.1/jstree.min.js"></script>

<script type="text/javascript">
    jQuery(function ($) {
        var $treeview = $("#treeview");
        $treeview.jstree({
            "core": { // core options go here
                "multiple": false, // no multiselection
                "themes": {
                    "dots": false // no connecting dots between dots
                }
            },
            "state": { "key": "state_demo" },
            "plugins": ["themes", "html_data"]
        })
        //.on('ready.jstree', function () {
        //    $treeview.jstree('open_all');
        //});
    });
</script>

<br/>
<input id="btnCloseAll" type="button" value="Collapse All" onclick="$('#treeview').jstree('close_all');"> &nbsp;
<input id="btnExpandAll" type="button" value="Expand All" onclick="$('#treeview').jstree('open_all');">
<br /><br />
<div class="row">
    <div id="treeview" class="treeview">
        @MvcHtmlString.Create(Html.RenderTree(ViewData.Model, node => node.Name))
    </div>
</div>
@使用OrgChart.Models;
@使用OrgChart.Controllers;
@模型IEnumerable
@{ViewBag.Title=“主页”;}
jQuery(函数($){
var$treeview=$(“#treeview”);
$treeview.jstree({
“核心”:{//核心选项在此处
“多重”:false,//无多重选择
“主题”:{
“点”:false//点之间没有连接点
}
},
“state”:{“key”:“state_demo”},
“插件”:[“主题”,“html_数据”]
})
//.on('ready.jstree',函数(){
//$treeview.jstree('open_all');
//});
});



@MvcHtmlString.Create(Html.RenderTree(ViewData.Model,node=>node.Name))