我在fiddle中有一个例子。我有一棵这样的树:
> Root > Parent[n] > Child[n].
在Child
中我添加了一个事件处理程序。在示例中,它位于Child1
中,因此,如果我点击Child1
,它将呈现一个包含变量array
中3行的表格。
我想要的是,如果我点击Child1
,它将按分支“Parent1”过滤表格(array
),这样,它将呈现包含2行名为<的表格/ em>“Parent1”。有没有办法做到这一点?
答案 0 :(得分:1)
我必须做两件事来让你的代码工作:
您已将select_node
处理程序附加到标识为$study
的内容,而它应该是jstree
:
$('#jstree').on('select_node.jstree', function (evt, data) {...})
检查this Fiddle上的更新。
如果您愿意,可以稍微简化一下代码 - Fiddle。
<强>更新强>
如果要按所选节点的父文本过滤数组,可以替换此行:$table.bootstrapTable('load', array);
使用:
var parentNodeId = $('#jstree').jstree().get_node(data.selected[i]).parent;
var parentNodeText = $('#jstree').jstree().get_node(parentNodeId).text;
var filteredArray = array.filter(function(item){
if (item.name === parentNodeText) {
return item;
}
});
$table.bootstrapTable('load', filteredArray);