$(function() { var url = ctx + "jcy/ssqx/roleMenuTreeData?xqdid=" + $("#xqdid").val(); var options = { id: "menuTrees", url: url, check: { enable: true,chkboxType: {"Y": "", "N": ""} }, expandLevel: 0, }; $.tree3.init(options); }); $(function() { var url = ctx + "jcy/ssqx/roleMenuTreeData?xqdid=" + $("#xqdid").val(); var options = { id: "menuTrees2", url: url, check: { enable: true,chkboxType: {"Y": "", "N": ""} }, expandLevel: 0, onCheck : zOnClick }; $.tree.init(options); }); 如何从两个tree中获取不同的勾选中的节点
时间: 2024-02-14 17:15:35 浏览: 21
您可以通过以下步骤从两个tree中获取不同的勾选中的节点:
1. 获取两个tree的勾选节点数据,可以使用以下代码:
```
var treeObj1 = $.fn.zTree.getZTreeObj("menuTrees");
var treeObj2 = $.fn.zTree.getZTreeObj("menuTrees2");
var nodes1 = treeObj1.getCheckedNodes(true);
var nodes2 = treeObj2.getCheckedNodes(true);
```
2. 遍历两个数组,将节点的id保存到两个不同的数组中:
```
var ids1 = [];
var ids2 = [];
for(var i=0; i<nodes1.length; i++) {
ids1.push(nodes1[i].id);
}
for(var i=0; i<nodes2.length; i++) {
ids2.push(nodes2[i].id);
}
```
3. 使用JavaScript的filter()方法获取不同的节点:
```
var diffNodes = ids1.filter(function(id) {
return !ids2.includes(id);
});
```
这样,diffNodes数组中就保存了在第一个tree中勾选但在第二个tree中未勾选的节点的id。
相关问题
//屏蔽区域树 $(function() { var url = ctx + "jcy/ssqx/roleMenuTreeData?xqdid=" + $("#xqdid").val(); var options = { id: "menuTrees", url: url, check: { enable: true,chkboxType: {"Y": "", "N": ""} }, expandLevel: 0, }; $.tree3.init(options); }); //所属区域树 $(function() { var url = ctx + "jcy/ssqx/roleMenuTreeData?xqdid=" + $("#xqdid").val(); var options = { id: "menuTrees2", url: url, check: { enable: true,chkboxType: {"Y": "", "N": ""} }, expandLevel: 0, onCheck : zOnClick }; $.tree.init(options); }); var ssqyids = $.tree.getCheckedNodes(); var xqdssqyids = $.tree.getCheckedNodes();两个ztree 怎么来正确获取勾选的节点
在这段代码中,你需要将$.tree.getCheckedNodes()改成具体的树实例名字,以获取对应树的勾选节点。具体来说,可以将$.tree改成menuTrees,menuTrees2或者其他树的实例名字,代码如下:
```
var ssqyids = $.fn.zTree.getZTreeObj("menuTrees").getCheckedNodes(true);
var xqdssqyids = $.fn.zTree.getZTreeObj("menuTrees2").getCheckedNodes(true);
```
需要注意的是,这里使用了$.fn.zTree.getZTreeObj()方法来获取对应的树实例,而不是直接使用$.tree或者$.tree3。这是因为在这段代码中,具体的树实例名字是menuTrees和menuTrees2。同时,需要传入true参数来获取勾选的父子节点。
$.post('${ctx}/hrbillfeeaccounts/hrBillFeeAccounts/getPrevFAIDSelectX?tp=${parameter.tp}&faid='+faid+'&fsid='+fsid+'&pbid='+pbid+'&bssid='+bssid,{ fsid1:fsid,pbid1:pbid },function(data) { console.log(data); var len = data.length; if(len<1) { js.showMessage("没有找到前一期间的工资发放数据!"); return; } else if(len==1) { //继续js调用后台方法 url="${ctx}/hrstafffeestand/hrStaffFeeStand/saveStaffsbatAndFSIDX?tp=${parameter.tp}&faid="+faid+"&fsid="+fsid+"&pbid="+pbid+"&bssid="+bssid; js.ajaxSubmit(url, function(data){ js.showMessage(data.message); }); } else { //其他操作 } });
对于这段代码,它使用了jQuery中的`$.post()`方法来向服务器发送POST请求,并且在请求中带有一些参数。请求的URL是`${ctx}/hrbillfeeaccounts/hrBillFeeAccounts/getPrevFAIDSelectX?tp=${parameter.tp}&faid='+faid+'&fsid='+fsid+'&pbid='+pbid+'&bssid='+bssid`。在请求中还传递了一个对象`{ fsid1:fsid,pbid1:pbid }`。
当请求成功后,会执行回调函数`function(data)`。在回调函数中,它首先打印出返回的数据`console.log(data)`。然后,根据返回数据的长度,做出不同的处理。
如果返回数据的长度小于1,会弹出提示消息"没有找到前一期间的工资发放数据!"。
如果返回数据的长度等于1,会构建一个URL并调用`js.ajaxSubmit()`方法,向后台发送另一个请求,请求的URL是`${ctx}/hrstafffeestand/hrStaffFeeStand/saveStaffsbatAndFSIDX?tp=${parameter.tp}&faid="+faid+"&fsid="+fsid+"&pbid="+pbid+"&bssid="+bssid`。在请求完成后,会弹出返回的消息。
如果返回数据的长度大于1,会执行其他操作。
总的来说,这段代码是进行POST请求,并根据返回的数据长度进行不同的处理。