$(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 11:15:35 浏览: 157
您可以通过以下步骤从两个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参数来获取勾选的父子节点。
function selectDeptTree() { var treeId = $("#treeId").val(); var deptId = $.common.isEmpty(treeId) ? "100" : $("#treeId").val(); var url = ctx + "system/org/selectOrgTree/" + deptId; var options = { title: '选择机构', width: "380", url: ctx + "system/org/selectOrgTree/" + deptId, callBack: doSubmit }; $.modal.openOptions(options); } function selectTree(tableId, tableName, title, url, width) { var options = { title: title, width: width, url: ctx + url, callBack: function (index, layero) { var body = layer.getChildFrame('body', index); $("#" + tableId).val(body.find('#treeId').val()); $("#" + tableName).val(body.find('#treeName').val()); layer.close(index); } }; $.modal.openOptions(options); } function doSubmit(index, layero) { var body = layer.getChildFrame('body', index); $("#treeId").val(body.find('#treeId').val()); $("#treeName").val(body.find('#treeName').val()); layer.close(index); }帮我解释这段代码
这段代码是一个 JavaScript 函数集合,用于实现选择机构和选择树的功能。具体解释如下:
1. `selectDeptTree` 函数用于选择机构树。它首先获取 `treeId` 的值,如果为空,则将 `deptId` 设置为 "100",否则使用获取到的值。接着构建一个 URL,用于请求机构树数据。最后,通过调用 `$.modal.openOptions` 方法打开一个模态框,并传入一些配置参数。
2. `selectTree` 函数用于选择树。它接受一些参数,包括表格 ID、表格名称、标题、URL 和宽度。在函数内部,构建了一个配置对象 `options`,其中包含了标题、宽度、URL 和回调函数等信息。回调函数在选择树后会被调用,获取选择的树的 ID 和名称,并将其设置到相应的表单元素中。
3. `doSubmit` 函数为回调函数,用于处理提交操作。当选择机构或树完成后,会调用该函数,并将选中的树的 ID 和名称设置到相应的表单元素中。
总体来说,这段代码实现了选择机构和选择树的功能,并通过回调函数将选择结果设置到指定的表单元素中。
阅读全文