2011-07-26 10 views
0

JavaScriptでツリーを設計していて、ノード上にjsonファイルに格納されているノードをロードしようとしています。動的にjsonを使用してツリーをロードする

擬似コードはJavaScript:

var nodeRoot = 
{ 
    level: 4, 
    id: 12, 
    data: ..., 
    childs: Array() // the nodes, all similar to the root, but of level n-1 
} 

function downloadNodeData(_node){ 
    //initializing the request 
    req.onreadystatechange= 
     function(){ 
      //testing the request 
      var nodeResult = eval("("+req.responseText+")"); 
      console.log(nodeResult); 
      // ----- What now ? ----- 
     } 
    req.send(null); 
} 

私は(アイデアはユーザーアクションに依存し、動的ツリーノードをロードすることです)いくつかの場所でこの関数を呼び出す必要があります。

要点は、要求が返されたときに呼び出されたノードの値を更新する方法が見つからないということです。

SetNodeByLevelAndId(_node、_level、_value)を作成する唯一の方法はありますか?

ありがとうございました。

答えて

0

nodeRootの説明には、属性値はありません。 _node(関数に与えられたパラメータ)で何を更新しますか?

nodeResultで_nodeを置き換える場合は、nodeResultの属性を1つずつ_nodeにコピーする必要があります。 _nodeを参照する他のノードは、あなたが割り当てた場合、古い参照を使用するので、

_node = nodeResult 
+0

私は分かりません。関数に渡されたノード(より正確には、フィールドデータと子ノード)を更新したいと思います。 _node.data = nodeResult.dataを実行すると、元のノード(関数に渡されたノード)のフィールドデータが更新されます。 –

+0

はい、属性を1つずつ置き換えることができます。私は間違いなくJavaScriptに慣れる必要があります。ありがとう! –

関連する問題