概述:
前面主要是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 ']);} }});