gpt4 book ai didi

javascript - 在 fancytree 插件上选择/取消选择具有相同 ID 的所有节点

转载 作者:行者123 更新时间:2023-11-30 09:53:59 25 4
gpt4 key购买 nike

我正在尝试创建公司结构。一名员工可以在两个部门任职,但这是具有相同 ID id = employee1 的同一名员工。

检查项目是否被选中或取消选中,这是有效的。

我在处理具有相同 ID 的节点时遇到问题。

当选择 ID 为 employee1 的节点时,我想选择/取消选择 ID 为 employee1 的所有节点。

提前谢谢你。

<div id="companyEmplyee">
<ul>
<li class="folder" id="company1">Company
<ul>
<li class="folder" id="sector1">Sector 1
<ul>
<li class="emplyee1">Emplyee 1</li>
<li id="emplyee2">Emplyee 2</li>
</ul>
</li>
<li class="folder" id="sector2">Sector 2
<ul>
<li class="emplyee1">Emplyee 1</li>
<li id="emplyee35">Emplyee 35</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>

<script type="text/javascript">
$(function () {
var tree = $("#companyEmplyee").fancytree({
checkbox: true,
selectMode: 2,
keyPathSeparator: "/",

clones: {
highlightClones: true
},
select: function (event, data) {
var s = data.tree.getNodeByKey(data.node.key);
var s3 = s.key;
var s2 = $.map(data.tree.getSelectedNodes(), function (node) {//
return node.key;
});

if ($.inArray(s3, s2) == -1) {//
$("tr#" + s3).addClass("deleted");
//DESELECTED
$('table#tblID tr#' + s.key).remove();
alert(s.key + ' DESELECT');

}

else {
//SELECTED
alert(s.key + ' SELECT');
}
}
});
});
</script>

最佳答案

id 在同一文档中应该是唯一的,使用通用类 emplyee1 代替:

<div id="companyEmplyee">
<ul>
<li class="folder" id="company1">Company
<ul>
<li class="folder" id="sector1">Sector 1
<ul>
<li class="emplyee1">Emplyee 1</li>
<li id="emplyee2">Emplyee 2</li>
</ul>
</li>
<li class="folder" id="sector2">Sector 2
<ul>
<li class="emplyee1">Emplyee 1</li>
<li id="emplyee35">Emplyee 35</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>

或者使用唯一 ID,就像您在 fancytree documentation 中看到的那样 key (节点 ID)应该是唯一的:

Node id (must be unique inside the tree)


更新:

尝试使用以下技巧:

select: function (event, data) {
if(data.node.extraClasses!=''){
if( $(data.node.li).find('.fancytree-node').hasClass('fancytree-selected') )
$('.'+data.node.extraClasses).addClass('fancytree-selected');
else
$('.'+data.node.extraClasses).removeClass('fancytree-selected');
}
}

Working example .

希望这对您有所帮助。

关于javascript - 在 fancytree 插件上选择/取消选择具有相同 ID 的所有节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34945538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com