【问题标题】:jsTree v.3 lazy loading with ajax call带有ajax调用的jsTree v.3延迟加载
【发布时间】:2016-09-27 03:29:50
【问题描述】:

我一直在使用 ajax 调用进行 jstree 延迟加载,但遇到了问题。

我的代码成功地带来了 1 深度的 json 数据。 但是,当我单击或选择节点时,它不会带来它的子节点。 我不知道我的问题是什么。

这是我的 JavaScript 代码

$("#tree").jstree({
		     'core' : {
		     	'data' : {
		          'url' : function(node) {
		              return'/url/getTree';
		             },
		          'type' : 'GET',
		          'data' : function(node) {
		              return {
		                	parentId : node.id ==="#" ? 0 : node.id,
		                	searchdepth : 1
		 	                }
		 	            },
		          'success' : function(data) {
		           	 return data.list
		  		        }
		  		    },
			      'check_callback':true,
		  		    }, 
		  	 "plugins" : ["json_data"]
		  	    });

而我的结果数据是这样的

[{"id":"1","text":"node_1","data":{"selected":"N"},"children":[{"id":"3","text":"node_3","data":{"selected":"N"}},{"id":"2","text":"node_2","data":{"selected":"N"}}]}]

【问题讨论】:

    标签: javascript ajax jstree


    【解决方案1】:

    您的 JSON 文档似乎不正确。该文档需要包含恰好一个数组,其中包含您为其请求信息的节点的子节点。

    因此,使用您的示例,当您请求 id 为 1 的节点的信息时,您的 json 需要如下所示:

    [
       {"id":"3","text":"node_3","data":{"selected":"N"}, "children":true/false},
       {"id":"2","text":"node_2","data":{"selected":"N"}, "children":true/false}
    ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多