JQuery 函数,用于查找 jstree 中节点的状态
JQuery function to find state of a node in jstree?
我在jstree中检索选定节点的状态(使用JSON数据)时遇到困难。以下是我尝试实现事物的方式:
$(function () {
$("#tree").jstree({
"json_data" : {
"data" : [
{
data : "/",
attr : { "id" : "root"},
state : "closed",
"children" : [ { "data" : "child1",
"attr" : { "id" : "child1.id" },
"children" : [ ] }
]
},
]
},
"plugins" : [ "themes", "json_data", "crrm", "ui" ]
})
.bind("select_node.jstree",function(event, data) { . . . }
根据我的研究,我发现data.rslt.obj.attr("state")
应该返回state("open" or "closed")
但它返回未定义。你能帮我确定我在这里缺少什么吗?
如@digringo
所述
$('#tree').jstree(true).get_state()
这将返回一个对象,该对象包括打开的 <li>
id 数组和选定的<li>
id 数组。
然后,您可以循环访问数组,以查看特定子项是否已打开和/或选中。
AFAICT,jsTree 不会将状态存储在任何地方(尤其是在查阅源代码之后),而是使用节点的类来确定它。
因此,我最好的建议是执行以下操作:
(...)
.bind("select_node.jstree", function (e, data) {
var isOpen = data.rslt.obj.hasClass("jstree-open");
console.log(data, 'selection is ' + (isOpen ? 'open' : 'closed'));
});
使用
$('#tree').jstree(true).get_state()
相关文章:
- 如何在返回后将状态保持为突出显示JQuery树视图的选定节点
- 在节点.js中保存应用程序状态
- 节点 js 退出状态 8,错误代码 0 在 Mac 上运行
- 将扩展节点的状态保存在 jqgrid 树网格中
- 节点 JS:使用状态代码 503 重试函数
- 节点 JS:请求循环,直到状态代码 200
- 在节点.js中获取 http 状态代码
- JQuery 函数,用于查找 jstree 中节点的状态
- 如何在节点中解析 HTTP 状态代码
- 无法使用节点预处理程序重建串行端口:404状态代码下载64位nw.lib
- 保持单击的节点处于选中状态
- 节点webkit后退/前进按钮状态检测
- html5事件监听器详细节点状态变化
- 在ui-router中设置抽象嵌套状态的默认子节点
- 节点是否处于状态?Node可以在内存中维护变量吗?
- 从一个子节点更改parent's状态,并在另一个子节点react-native中使用它
- jtree:如何将ajax加载的根节点的状态设置为待定状态
- 让子节点知道它应该在React中更新自己的状态
- I'm向节点服务器发送了一个文件,它给了我404状态错误
- ReactJS:通过props改变父节点的子节点状态