2012-02-28 13 views
2

ページにdynatreeオブジェクトのインスタンスが2つあります。私はさまざまなXMLデータからツリーを作成しています。 onChangeイベントがあり、そのツリーは使用しているデータを変更します。変更中に最後に行うことは、データを並べ替えることです。ソート関数を呼び出すと、両方のインスタンスで実行され、最初のインスタンスが正しくソートされません。この2つのコードは次のとおりです。Dynatree .sortChildren

$("#rightList").dynatree("getRoot").sortChildren(compareNodesRight, true); 

この関数は比較として使用されます。

var compareNodesLeft = function(a,b) 
{ 
    //Find the sequence tags for both a and b. 
    var aKey = a.data.key; 
    var bKey = b.data.key; 
    var aValue = $(GLOBAL_LEFT_XML).find("item[id ='" + aKey + "'] data sequence").text(); 
    var bValue = $(GLOBAL_LEFT_XML).find("item[id ='" + bKey + "'] data sequence").text(); 
    return aValue > bValue ? 1 : aValue < bValue ? -1 : 0; 
} 

他の機能は、それはそれはおよそどれ洞察

var compareNodesRight = function (a, b) 
{ 
console.log("Comparing RIGHT"); 
//Find the sequence tags for both a and b. 
var aKey = a.data.key; 
var bKey = b.data.key; 
var aValue = $(GLOBAL_RIGHT_XML).find("item[id ='" + aKey + "'] data sequence").text(); 
var bValue = $(GLOBAL_RIGHT_XML).find("item[id ='" + bKey + "'] data sequence").text(); 
return aValue > bValue ? 1 : aValue < bValue ? -1 : 0; 
}; 

と呼ばれている以外、他のとほぼ同じである機能を使用しています

$("#rightList").dynatree("getRoot").sortChildren(compareNodesRight, true); 

ある他の種類を呼び出します。 sortChildren関数は素晴らしいでしょう。

+0

実際には期待どおりに動作するようです。明らかにキャッシングの問題でした。 – claydiffrient

答えて

0

ちょうどキャッシングの問題でした...

関連する問題