如何使用`getAllChecked()`获取在dhtmlx中检查的项目文本

时间:2010-06-23 18:35:58

标签: php mysql treeview dhtmlx

我正在使用dhtmlx在php中填充treeview中的mysql数据。一切都很好,除了当我使用getAllChecked()将所有项目检查为数组时,它显示标识符而不是节点文本。你们中的任何人都使用过dhtmlx,你能不能帮助我获取节点的文本而不是id?

2 个答案:

答案 0 :(得分:2)

目前,Dhtmlx没有提供获取被检查节点的树节点文本的方法。

但是它具有的方法是获取所有已检查ID的方法以及通过其id获取节点文本的方法。反过来,这是足够的信息来创建自己的方法来获取所有文本以供检查。

如果您不想自己写一个方法,我们非常欢迎您使用以下方法。

以下是以下方法:

  1. 使用dhtmlx的 tree.getAllChecked()
  2. 获取所有已检查节点ID
  3. 将返回的字符串拆分为数组。
  4. 循环检查节点ID数组并使用dhtmlx的 tree.getItemText()获取每个已检查节点的文本。
  5. 循环浏览时会创建一个字符串或数组并返回它。
  6. 这是获取所选dhtmlx树节点的所有文本的函数。

    /**
     * Provide a list of Names from those Tree Nodes Checked
     * param: tree  (dhtmlx tree object)
     * optional: asArray (bool)  whether or not to return as an array 
     * return [] or ","
     */
    var getAllCheckedItemsText = function(tree, asArray){
    
        var items = tree.getAllChecked();
        var listOfIDs = (items != "")?items.split(','):"";
        var listOfNames = [];
        for (i = 0; i < listOfIDs.length; i++){
            listOfNames.push(tree.getItemText(listOfIDs[i]));           
        }
        return (asArray != undefined && asArray == true)?listOfNames:listOfNames.join(',');
    
    }
    

    如何使用:

    将您对树对象的引用作为参数传入,并设置可选的“asArray”标志。您将以数组形式返回名称,或者只是使用逗号分隔名称的字符串,具体取决于“asArray”标志。

答案 1 :(得分:0)

您可以使用

 var text = tree.getItemText(id);