具有如下结构的树结构
onActivate: function(node) {
var resultId = "#" + node.data.title;
resultId = resultId.replace(/\s/g, '');
$('#contents>div').not(resultId).hide();
$(resultId).show();
},
我可以点击任何项目并使用dynatree onActivate函数和此代码隐藏所有其他项目
<div class="container-fluid text-left">
<div class="row content">
<div class="col-sm-2 sidenav" id="tree"> </div>
<div class="col-sm-8" id="contents">
<div id="item1">
<table id="item1grid"></table>
</div>
<div id="item2">
<table id="item2grid"></table>
</div>
<div id="item5">
<table id="item5grid"></table>
</div>
</div>
<div id="info"> </div>
</div>
</div>
</div>
我的HTML就是这个
var genderCount = 1;
$('#dnn_ctr632_Register_userForm_a304ec533c1ae2f23db908fa1cc294c5 .dnnFormInput').each(function () {
if (genderCount===1)
$(this).html('Women');
else {
$(this).html('Men');
}
genderCount++;
});
如果我点击&#34;第1节&#34;我该如何扩展这个html和功能呢?在树中它只显示该部分中的所有项目,即点击&#34;第1节和第34节;仅显示item1和item2
答案 0 :(得分:3)
也许你可以通过使用'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来检查你到目前为止所拥有的东西吗?