我正在使用dhtmlx在php中填充treeview中的mysql数据。一切都很好,除了当我使用getAllChecked()
将所有项目检查为数组时,它显示标识符而不是节点文本。你们中的任何人都使用过dhtmlx,你能不能帮助我获取节点的文本而不是id?
答案 0 :(得分:2)
目前,Dhtmlx没有提供获取被检查节点的树节点文本的方法。
但是它具有的方法是获取所有已检查ID的方法以及通过其id获取节点文本的方法。反过来,这是足够的信息来创建自己的方法来获取所有文本以供检查。
如果您不想自己写一个方法,我们非常欢迎您使用以下方法。
以下是以下方法:
这是获取所选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);