2010-06-23 4 views
0

Я использую dhtmlx для заполнения данных mysql в treeview в php. Все было хорошо, за исключением того, что, когда я использую getAllChecked(), чтобы получить все элементы, проверенные как массив, он отображает идентификаторы вместо текста узлов. Кто-нибудь из вас использовал dhtmlx, не могли бы вы помочь мне в получении текста узла вместо id, пожалуйста?Как получить текст элемента в dhtmlx с помощью `getAllChecked() `

ответ

0

Вы можете использовать

var text = tree.getItemText(id); 
2

На данный момент DHTMLX не обеспечивает метод, чтобы получить текст узла дерева тех узлов, которые проверяются.

Но у него есть способ получить все идентификаторы проверяемых и способ получить текст узлов по их идентификатору. В свою очередь это достаточно информации, чтобы создать свой собственный метод, чтобы вернуть весь текст для отмеченных.

Вы можете более подробно использовать метод ниже, если вы не хотите писать его самостоятельно.

Вот что ниже делает метод:

  1. Получить все проверяемый ID узел, используя DHTMLX в tree.getAllChecked()
  2. расколов возвращаемой строки в массив.
  3. Петли через массив идентификаторов проверенных узлов и используют dhtmlx's tree.getItemText(), чтобы получить текст для каждого проверенного узла.
  4. При прохождении через него создается строка или массив и возвращается.

Вот эта функция, чтобы получить весь текст выбранных узлов дерева 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(','); 

} 

Как использовать:

Pass в ссылке вы имеете ваш объект дерева в качестве параметра и установить дополнительный флаг «asArray». Вы получите имена в виде массива или просто строки с запятыми, разделяющими имена, в зависимости от флага asArray.