检查和未确定节点
Get checked and undetermined nodes
>我在jstree中被选中了一个节点。我可以获取所选节点的 json 值。但问题是,我想要子节点的父节点,直到根
您可以使用以下代码执行此操作。检查演示 - 小提琴。
function getParentNode(node) {
return $('#tree').jstree().get_parent(node);
}
var nodes = $('#tree').jstree().get_selected('full'), parentNodes = [], parentTexts = [];
nodes.forEach( function(node) {
var parentNode = getParentNode(node);
while (parentNode && parentNode !=='#') {
if (parentNodes.indexOf(parentNode) === -1 ) {
parentNodes.push( parentNode );
parentTexts.push( $('#tree').jstree().get_node(parentNode).text );
}
parentNode = getParentNode(parentNode);
}
})
更新
您使用的代码可能如下所示:
var checked_ids = [], checked_ids1 = [];
$("#temporary1").find(".jstree-undetermined").each(
function(i, element) {
var nodeId = $(element).closest('.jstree-node').attr("id");
// alert( nodeId );
checked_ids.push( nodeId );
checked_ids1.push( $('#temporary1').jstree().get_node( nodeId ).text );
}
);
尝试使用 jstree 的get_path。我在下面的方式将向控制台返回所选节点的父节点数组。
* get the path to a node, either consisting of node texts, or of node IDs, optionally glued together (otherwise an array)
$('#jstree').jstree().on('changed.jstree', function(e, data) {
console.log(data.instance.get_path(data.node, undefined, true));
});
相关文章:
- 节点fs.stat名称未定义
- 如何解决'窗口未定义'终端上的节点JS出错
- 未定义应为节点模块的对象
- 如果未选中子节点,则未选中父节点
- 保留未修改的dom节点副本问题
- 节点.js在不可能的地方打印“未定义”
- 节点.js未捕获的异常类型错误:无法设置未定义的预处理 ''
- AngularJs:节点未定义
- 检查和未确定节点
- 节点未从项目根目录加载模块
- 节点未为静态目录提供服务
- 未确定的Javascript错误
- Json到嵌套列表:第一个节点未捕获
- 删除动态绑定到未确定元素的侦听器
- Jasmine节点未显示测试结果
- 节点未抛出堆栈溢出异常
- 节点未打印完整对象
- 节点未发送脚本
- 茉莉节点未显示失败测试
- 文本节点未被 DOMParser (javascript) 识别