宝哥软件园

使用基于jstree的JSON数据组装树

编辑:宝哥软件园 来源:互联网 时间:2021-09-03

概述:

前面主要是html数据,这里主要是json数组

1.格式

JsTree需要特定格式的JSON数据,这在标准语法中是不必要的——这正是您所需要的。请记住,您可以获得您请求的任何其他属性,无论jsTree是否会接触它们,您可能会在以后使用它们。

要更改节点的图标,可以使用属性图标。特定字符串需要包含/图片的url路径。您可以使用任何其他字符串应用程序类样式来修饰I元素,该元素将用于呈现此图标。可以使用布尔值false使jsTree呈现没有图标的节点。

您可以设置节点的状态并使用state属性。其值可以组合以下值:已打开、已选择、已禁用。

Li_attr和a_attr可以通过jQuery属性函数直接得到。

当使用AJAX将子节点设置为false时,jsTree将在关闭状态下呈现该节点,如果需要打开,则需要发送额外的请求。

内部子级应该如何遵循相同的格式,或者是一个普通的字符串(这个字符串是自动生成的普通文本和任何其他)

//节点的预期格式(没有必需的字段){ id : 'string' //如果省略将自动生成文本: 'string' //节点文本图标: 'string' //自定义状态:的字符串{ open 3360 boolean//是节点open disabled : boolean //是节点disabled selected : boolean //是节点selected }、Children :[]//字符串或对象的数组Li _ attr 3360 { }//的属性可以选择JSON格式

如果不想使用内部子方法,可以使用可选语法。每个节点需要包含两个必需的字段:id和parent,并且没有子属性(其他的都保持这种格式)

JsTree将自动构建这种层次关系,以显示一个节点应该是根节点,但将父属性设置为“#”。

这种方法主要用于一次渲染整棵树,这些数据存储在数据库之间的连接关系中。

为了使用JSON呈现树,您需要使用$.jstree.defaults.core.data配置选项

预期的格式是数组节点。每个节点都应该是如上所述的对象或简单的字符串(在这种情况下,字符串用作节点的文本来替换自动生成的文本),并且任何内部子节点都具有相同的格式。

//节点的替代格式(需要id parent){ id : ' string '//必需的parent : 'string' //必需的text : 'string' //自定义状态的节点文本图标: ' string '//string : { open : boolean//是节点open disabled : boolean //是节点disabled selected 3360 boolean//是节点selected}、Li _ attr 3360 { }//生成的Li节点a _ attr3360的属性使用JSON

要使用JSON呈现树,需要使用$.jstree.defaults.core.data配置选项。

预期的格式是数组节点。每个节点都应该是如上所述的对象或简单的字符串(在这种情况下,字符串用作节点的文本来替换自动生成的文本),并且任何内部子节点都具有相同的格式。

$('#using_json ')。jstree({ ' core ' : { ' data ' :[' Simple Root node ',{ 'text' : 'Root node 2 ',' state ' : { ' opened ' : true ',' selected' : true ',' Child ' :[{ ' text ' : ' Child ' 1 ' },' Child ' 2 ']});

4.使用可选的json格式

$('#using_json_2 ')。jstree({ ' core ' : { ' data ' :[{ ' id ' : ' ajson 1 ',' parent' : '# ',' text' : 'Simple root node' },{ 'id' : 'ajson2 ',' parent' : '# ',' text ' : ' Root node 2 ' },{ 'id' : 'ajson3 ',' parent ' 3: ' ajson

5.使用AJAX

您可以使用AJAX请求服务器返回json数据来呈现树。这种格式如上所示。这里唯一的区别是JSON是不可见的,它是由服务器返回的。

要使用此功能,您需要使用$.jstree.defaults.core.data配置选项。

只需使用标准jquery,如AJAX配置和jstree,就会自动发出AJAX请求并返回数据。

除了标准的jQuery ajax选项,您还可以提供数据函数和url路径。此函数将在当前实例的范围内运行。传递一个参数来指示该节点已加载,并且该返回值将用作相应的URL和数据。

如果不返回json头信息,至少把数据类型jQuery AJAX的选项设置为“json”。

6.使用函数

您可以提供一个接受两个参数的函数,节点加载和回调函数。

$('#tree ')。jstree({ ' core ' : { ' data ' : function(obj,cb) { cb.call(this,['Root 1 ',' Root 2 ']);} }});

更多资讯
游戏推荐
更多+