有人能看到我的语法错误吗? jsTree只是不会渲染。
在jquery 1.7中加上一个奇怪的错误:
未捕获错误:语法错误,无法识别的表达式:#
var data = [
{
"data": "Basics",
"state": "closed",
// omit `attr` if not needed; the `attr` object gets passed to the jQuery `attr` function
"attr": { "id": "1234", "some-other-attribute": "attribute_value" },
"children": [{
"data": "login",
"state": "closed",
"children": [
{
"data": "results",
"state": "closed",
"attr": { "id": "node-123" }
}]
}]
}];
$(function () {
$("#jstree").jstree({
"json_data": {
//initial - demo only, usually takes json from the controller
//static data, or function(node, mappingBeforeRequestToserver)
"data": data,
//If both data and ajax are set the initial tree is rendered from the data string.
//When opening a closed node (that has no loaded children) an AJAX request is made.
"ajax": {
//data: mappingBeforeRequestToserver-function(node about to be open or -1). `this` will be the tree instance)
//url: function(node about to be open as a paramater or -1) retuns the ajax URL (like /get_children/node_2).
//The error and success functions- modifiying the results from the server before populating the tree
type: "POST",
async: true,
"url": "/echo/json/",
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function (msg) {
return msg;
},
error: function () {
// TODO process error
}
},
// "xsl": "flat",
// "override_ui": "true",
// "real_checkboxes": "true",
"plugins": ["themes", "json_data", "ui"]
}
// 1) if using the UI plugin bind to select_node
}).bind("select_node.jstree", function (event, data) {
// `data.rslt.obj` is the jquery extended node that was clicked
alert(data.rslt.obj.attr("id"));
})
});
答案 0 :(得分:3)
找到它:
之后的额外}
“plugins”:[“themes”,“json_data”,“ui”]
答案 1 :(得分:0)
这看起来可能是一个问题:
"children": ["login",
{
"data": "results",
"state": "closed",
"attr": {
"id": "node-123"
}
}
]
上面的"login"
看起来很错误。 jsTree documentation表示"children"
属性应为“子节点对象数组”; "login"
String
的存在违反了这一点。