У меня есть два экземпляра объектов dynatree на странице.У меня есть деревья, заполненные различными данными XML.Существует событие onChange, в котором деревья изменяют данные, которые они используют.Последнее, что я делаю во время изменений, это сортировка данных.Когда я вызываю функцию сортировки, она запускается для обоих экземпляров, что приводит к неправильной сортировке первого экземпляра.Мой код для этих двух видов:
$("#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;
}
Другая функция вызывает другую сортировку, которая
$("#rightList").dynatree("getRoot").sortChildren(compareNodesRight, true);
Он использует функцию, которая почти идентична другой, за исключением того, что она называется
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;
};
Любое понимание функции .sortChildren было бы здорово.