`
lqixv
  • 浏览: 218276 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

在xyTree中添加一个方法,用于获得所有已选择或部分被选择的node

阅读更多

打开DivTree.js,在方法xyTree.DivTree.prototype.getNodesAll = function ()的下方添加一个新的方法,内容如下:

/**
 * added by Tom
 * 得到被选中的所有节点,(包括根节点等被部分选中的节点)
 * @return 得到被选中的所有节点
 * @type Array:xyTree.Node  
 */
xyTree.DivTree.prototype.getAllSelected = function (){
  function getNodesdiguiAll(arr, node){
    function getNodesdiguiAllSelected(node2){ //闭包
      arr.push(node2);
      for(var i = 0; i < node2.child.length ; i++)
        getNodesdiguiAllSelected(node2.child[i]);
    }
    if(node.checked == 0)
      /*空函数体*/ ;
    else if(node.checked == 1 ){
      arr.push(node);
      for (var i = 0; i < node.child.length ; i++)
      getNodesdiguiAllSelected(node.child[i]);
    }
    else{
      arr.push(node);
      for (var i = 0; i < node.child.length ; i++)
        getNodesdiguiAll(arr, node.child[i]);
    }
  }
  var resultArr = [];
  getNodesdiguiAll(resultArr, this.tree.root);
  return resultArr;
}
分享到:
评论
2 楼 lqixv 2012-04-12  
不再建议使用这个 tree。用 ztree 吧,ztree 是国人开发的,个人感觉,ztree 真的是非常优秀!!!而且作者很耐心地回复用户发问题,非常喜欢。
1 楼 du_shu_lake 2012-04-12  
贴主,请教一个xytree的问题,如果我从服务器向前台传数据,有一些节点为默认选中状态,应该怎么设置?刚接触xytree,没来得及看api,特请教。

相关推荐

    js学习_xyTree

    在JavaScript中实现XYTree,我们首先需要创建一个Node类,表示树中的每个节点。Node类应包括属性如ID、文本、子节点数组等。接着,我们需要设计一个Tree类,它管理整个树结构,包括添加、删除和查找节点的方法。Tree...

    xytree javascript控件

    总结,XYTree JavaScript控件是一个强大且灵活的工具,用于创建具有动态交互功能的树形视图。通过源码学习和实例参考,开发者可以轻松地将其整合到自己的项目中,提升用户体验,同时也展示了JavaScript在构建复杂...

    Node.js-draxt.js–一个工具模块用于在Node.js环境中选择和操作文件系统对象

    而 draxt.js 是一个专门为 Node.js 开发的工具模块,它提供了一种方便的方式来选择和操作文件系统中的对象。在 Node.js 开发中,文件系统的操作是非常常见且重要的,例如读取、写入、创建、删除文件或目录等。draxt....

    node中文api文档.pdf

    所有断言方法在失败时都会抛出一个`AssertionError`实例。 2. **async_hooks(异步钩子)模块**:用于在Node.js的异步API中追踪异步资源的生命周期。 3. **Buffer(缓冲器)模块**:在Node.js中,Buffer用于处理...

    一个用于Node.js的SSH2SFTP客户端

    而SSH2SFTP客户端是专门针对Node.js设计的一个库,用于实现Secure File Transfer Protocol (SFTP)的功能,它是Secure Shell (SSH) 协议的一部分,常用于安全地在远程主机之间传输文件。本文将深入探讨Node.js中的SSH...

    Node.js-一个使用node写的iOS自动打包的脚本并可以选择上传到蒲公英

    标题“Node.js-一个使用node写的iOS自动打包的脚本并可以选择上传到蒲公英”揭示了这个项目的核心内容,它是一个基于Node.js的脚本,用于自动化iOS应用的打包过程,并且具备将打包后的ipa文件上传至蒲公英(一个第三...

    Node.js-一个快速的fifo实现类似于Node.js核心中的nextTick

    "Node.js-一个快速的fifo实现类似于Node.js核心中的nextTick" 这个标题表明我们要讨论的是一个基于Node.js的快速先进先出(FIFO)队列实现,该实现与Node.js核心中的`process.nextTick()`机制有相似之处。...

    node.js 中文安装包

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,由 Ryan Dahl 在2009年创建。它让开发者能够在服务器端使用 JavaScript 编程,打破了 JavaScript 仅限于客户端应用的传统格局。Node.js 使用了一个事件...

    Node.js-Clisteps一个简单的UI用于在终端上显示动画步骤的Node模块

    在这个例子中,`clisteps.add()` 方法用于添加一个新的步骤,`clisteps.update()` 方法则用于改变步骤的状态,如从 `pending` 到 `done`。通过这种方式,开发者可以实时反映程序的执行情况。 `Clisteps` 的源代码...

    一个易于使用的NodeRED节点,用于将Alexa功能添加.zip

    在这个特定的压缩包“一个易于使用的NodeRED节点,用于将Alexa功能添加.zip”中,包含的是一个名为“node-red-contrib-alexa-local-master”的项目,这个项目是为NodeRED设计的一个插件,目的是让用户能够将Amazon ...

    node-sass 4.12、4.14.1、5 node-sass-loader node_modules 安装包

    接着,在你的`package.json`文件中的`scripts`部分添加一个`dev`命令,比如: ```json "scripts": { "dev": "webpack --mode development" } ``` 运行`npm run dev`命令启动Webpack开发服务器,它会自动处理Sass...

    Node.js-一个RESTAPI用于使用Node.jsheadlessChrome和Cheerio来爬取动态网站

    标题中的“Node.js-一个REST API用于使用Node.js headless Chrome和Cheerio来爬取动态网站”指的是一项技术实现,它利用Node.js作为后端服务器,通过Headless Chrome(无头Chrome浏览器)和Cheerio库来抓取那些需要...

    基于Node.js的Python脚本调用方法

    Node.js自从问世以来,由于其高并发,语言一致等优点,深受开发者的青睐。特别是在前后端分离逐渐成为业界主流的今天,...提出了一种基于Node.js的Python脚本调用方法,并以一个在线中文分词系统的实例,表明该方法的有效性。

    Node.js-一二三四级联动ListView联动城市选择联动

    4. 联动逻辑:当用户在某一级ListView中选择一个城市时,通过监听点击事件获取选中的城市ID,然后从数据库中查询对应的下一级城市,并更新相应的ListView。这个过程可能需要异步处理以避免阻塞UI线程。 5. 数据加载...

    Node.js-清理脏话敏感字的Node模块

    标题 "Node.js-清理脏话敏感字的Node模块" 暗示了这是一个关于使用Node.js来处理文本,特别是过滤或替换不雅词汇和敏感字的解决方案。在Node.js环境中,我们可以利用JavaScript的灵活性和丰富的社区资源来创建这样的...

    Node.js-CLI应用能选择视频将其添加到收藏夹查看视频标签并在浏览器中打开视频

    标题中的“Node.js-CLI应用能选择视频将其添加到收藏夹查看视频标签并在浏览器中打开视频”揭示了一个基于Node.js开发的命令行界面(CLI)应用程序。这个应用具备了几个关键功能,包括处理视频文件、管理收藏夹、...

    Android-在ReactNative应用程序后台运行一个单独的Node.js进程

    在Android端,你可以创建一个Service或者IntentService来启动Node.js进程,并确保在应用被系统杀死或用户离开应用时,该服务仍然能在后台运行。 3. 使用JobScheduler或WorkManager:对于执行后台任务,Android提供...

    NodeRed一机多端口实例创建和无网部署

    这将生成一个包含所有依赖的.tgz文件。 3. 将这个.tgz文件传输到无网络的机器上,然后解压: ``` tar -xzf package.tgz ``` 4. 在无网机器上启动NodeRed: ``` node-red-start ``` 这样,你就在无网络环境...

    node14版本和node16版本

    Node.js是一种开源、跨平台的JavaScript运行环境,用于在服务器端执行JavaScript代码。它通过引入了一个名为V8的Google JavaScript引擎,使得JavaScript得以脱离浏览器,成为构建网络应用的强大工具。Node.js版本的...

    Node.js-用于生成.gitignore文件的CLI

    标题中的“Node.js-用于生成.gitignore文件的CLI”指的是一个使用Node.js开发的命令行工具,该工具专门设计用于创建或自定义`.gitignore`文件。`.gitignore`文件在Git版本控制系统中扮演着重要角色,它允许用户指定...

Global site tag (gtag.js) - Google Analytics