как получить текст элемента, проверенного в dhtmlx, используя `getAllChecked ()` - PullRequest
0 голосов
/ 23 июня 2010

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

Ответы [ 2 ]

2 голосов
/ 23 сентября 2012

В настоящее время Dhtmlx не предоставляет метод для получения текста дерева узлов тех узлов, которые проверены.

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

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

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

  1. Получить все идентификаторы проверенных узлов, используя dhtmlx tree.getAllChecked ()
  2. Разбивает возвращаемую строку в массив.
  3. Перебирает массив идентификаторов проверенных узлов и использует tree.getItemText () dhtmlx для получения текста для каждого проверенного узла.
  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(',');

}

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

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

0 голосов
/ 24 июня 2010

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

 var text = tree.getItemText(id);
...