function hideAllNodes(treeObj) { var nodes = treeObj.transformToArray(treeObj.getNodes()); for (var i = 0; i < nodes.length; i++) { treeObj.setting.view.fontCss = {}; nodes[i].setVisible(false); } } 找不到setVisible(false);方法
时间: 2023-12-02 10:06:25 浏览: 35
`setVisible(false)` 并不是 TreeView 中的一个方法,因此你无法在这个方法中找到它。如果你想隐藏节点,可以使用 `hideNode` 方法来实现,例如:
```
function hideAllNodes(treeObj) {
var nodes = treeObj.transformToArray(treeObj.getNodes());
for (var i = 0; i < nodes.length; i++) {
treeObj.setting.view.fontCss = {};
treeObj.hideNode(nodes[i]);
}
}
```
这样就可以隐藏所有的节点了。需要注意的是,如果你想要显示节点,你需要使用 `showNode` 方法。
相关问题
// 获取搜索关键字 var keyword = $("#keyword").val().trim(); // 获取树对象 var treeObj = $.fn.zTree.getZTreeObj("tree"); // 模糊搜索节点 var nodes = treeObj.getNodesByParamFuzzy("name", keyword, null); // 隐藏所有节点 treeObj.hideNodes(treeObj.transformToArray(treeObj.getNodes())); // 显示搜索结果节点 treeObj.showNodes(nodes); // 展开搜索结果节点的所有父节点 treeObj.expandAll(true); ;其中treeObj.hideNodes is not a function
抱歉,我的回答中有误导信息,`hideNodes`方法是zTree v3.5.28及以上版本的方法,如果您使用的是较早的版本,可能并不支持该方法。如果您使用的是较早版本的zTree,可以使用下面这段代码来隐藏所有节点:
```
var nodes = treeObj.transformToArray(treeObj.getNodes());
for (var i = 0; i < nodes.length; i++) {
nodes[i].isHidden = true;
treeObj.updateNode(nodes[i]);
}
```
这段代码将所有节点的`isHidden`属性设置为`true`,然后调用`updateNode`方法更新节点状态。对于显示搜索结果节点和展开搜索结果节点的所有父节点,您可以继续使用`showNodes`和`expandAll`方法。
// 根节点ID和名称 var rootId = "N000"; var rootName = "菜单"; // 获取指定节点下的所有子节点 function getChildren(nodes, id) { var result = []; for (var i = 0; i < nodes.length; i++) { var node = nodes[i]; if (node.parentIndex === id) { node.children = getChildren(nodes, node.id); result.push(node); } } return result; } // 构建 DOM 树 function buildTree(parentNode, children) { for (var i = 0; i < children.length; i++) { var childNode = children[i]; var tr = $('<tr class="treegrid-' + childNode.id + '"><td>' + childNode.name + '</td></tr>'); parentNode.append(tr); if (childNode.children && childNode.children.length > 0) { var subTable = $('<table></table>'); tr.append(subTable); buildTree($('<tbody></tbody>').appendTo(subTable), childNode.children); } } } // 主程序 const username = 'hzx>' var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == XMLHttpRequest.DONE) { alert("返回值:" + xhr.responseText); if (xhr.status == 200) { var jsonData = JSON.parse(xhr.responseText); }else { alert("请求失败:" + xhr.statusText); } } xhr.open("GET","shouquan.php?username=".username, true); xhr.send(); }; var root = { id: rootId, name: rootName, children: getChildren(jsonData, rootId) }; buildTree($('#tree tbody'), root.children); // 初始化 treegrid $('#tree').treegrid({ expanderExpandedClass: 'glyphicon glyphicon-minus', expanderCollapsedClass: 'glyphicon glyphicon-plus' });代码修改
感谢您分享代码!不过看到您的代码中有一些错误,我帮您修改一下:
1. 在发送 XMLHttpRequest 请求时,应该将 `xhr.open` 和 `xhr.send` 放在 `if` 语句外面。
2. 将 `var jsonData = JSON.parse(xhr.responseText);` 放在 `if` 语句内部,以避免在请求失败时出现 `jsonData` 未定义的情况。
3. 在 `const username = 'hzx>'` 中应该将大于号(>)改为等于号(=)。
4. 在 `buildTree` 函数中,应该先将 `tr` 添加到 DOM 中,再根据是否有子节点添加子表格。
修改后的代码如下所示:
```
// 根节点ID和名称
var rootId = "N000";
var rootName = "菜单";
// 获取指定节点下的所有子节点
function getChildren(nodes, id) {
var result = [];
for (var i = 0; i < nodes.length; i++) {
var node = nodes[i];
if (node.parentIndex === id) {
node.children = getChildren(nodes, node.id);
result.push(node);
}
}
return result;
}
// 构建 DOM 树
function buildTree(parentNode, children) {
for (var i = 0; i < children.length; i++) {
var childNode = children[i];
var tr = $('<tr class="treegrid-' + childNode.id + '"><td>' + childNode.name + '</td></tr>');
parentNode.append(tr);
if (childNode.children && childNode.children.length > 0) {
var subTable = $('<table></table>');
tr.append(subTable);
buildTree($('<tbody></tbody>').appendTo(subTable), childNode.children);
}
}
}
// 主程序
const username = 'hzx=';
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE) {
if (xhr.status == 200) {
var jsonData = JSON.parse(xhr.responseText);
var root = { id: rootId, name: rootName, children: getChildren(jsonData, rootId) };
buildTree($('#tree tbody'), root.children);
// 初始化 treegrid
$('#tree').treegrid({
expanderExpandedClass: 'glyphicon glyphicon-minus',
expanderCollapsedClass: 'glyphicon glyphicon-plus'
});
} else {
alert("请求失败:" + xhr.statusText);
}
}
};
xhr.open("GET", "shouquan.php?username=" + username, true);
xhr.send();
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)