有如下树形结构
Section 1
item1
item2
Section 2
item5
我可以点击任何项目并使用dynatree onActivate函数和此代码隐藏所有其他项目
onActivate: function(node) {
var resultId = "#" + node.data.title;
resultId = resultId.replace(/\s/g,'');
$('#contents>div').not(resultId).hide();
$(resultId).show();
},
我的HTML就是这个
我如何扩展这个html和函数,所以如果我点击树中的“Section 1”它只显示该部分中的所有项目,即点击“Section 1”只显示item1和item2
最佳答案
也许你可以通过使用’onActivate’回调的传入节点对象的一些属性来实现这一点.您需要检查激活的对象是否为文件夹,如果是,则显示该元素的所有chidlren.尝试将此代码段附加到onActivate回调中:
if (node.data.isFolder) {
for (var i = 0; i < node.childList.length; i++) {
$('#' + node.childList[i].data.key).show();
}
}
随意使用console.log转储整个对象,并检查您可以使用哪些字段.
你能提供一个jsfiddle来检查你到目前为止所拥有的东西吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。