0

dhtmlx を使用して、php のツリービューに mysql データを入力しています。getAllChecked()配列としてチェックされたすべてのアイテムを取得するために使用する場合を除いて、すべて問題ありませんでした。ノードのテキストではなく識別子が表示されます。dhtmlxを使用したことがある人はいますか? id の代わりに node のテキストを取得するのを手伝ってくれませんか?

4

2 に答える 2

2

現時点では、Dhtmlx は、チェックされたノードのツリー ノード テキストを取得するメソッドを提供していません。

しかし、それが持っているのは、チェックされたすべての ID を取得する方法と、ノードのテキストを ID で取得する方法です。これは、チェックされたテキストのすべてを取得する独自のメソッドを作成するのに十分な情報です。

自分で書きたくない場合は、以下の方法を使用してください。

以下のメソッドが行うことは次のとおりです。

  1. dhtmlx のtree.getAllChecked()を使用して、すべてのチェック済みノード ID を取得します。
  2. 返された文字列を配列に分割します。
  3. チェックされたノード ID の配列をループし、dhtmlx の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(',');

}

使い方:

ツリー オブジェクトの参照をパラメータとして渡し、オプションの「asArray」フラグを設定します。「asArray」フラグに応じて、配列または名前をカンマで区切った単なる文字列として名前を取得します。

于 2012-09-22T21:22:36.530 に答える
0

使用できます

 var text = tree.getItemText(id);
于 2010-06-24T08:32:14.433 に答える