Как отсортировать данные XML в JQuery - PullRequest
6 голосов
/ 16 июня 2010

как мне отсортировать все officers на основе их ranks

jQuery

$.get('officers.xml', function(grade){
    $(grade).find('officer').each(function(){
        var $rank = $(this).attr('rank');
    });
});

XML (employee.xml)

<grade>
 <officer rank="2"></student>
 <officer rank="3"></student>
 <officer rank="1"></student>
</grade>

спасибо.

Ответы [ 3 ]

8 голосов
/ 16 июня 2010
$.get('officers.xml', function(grade){     
  var officer = $(grade).find('officer');

  officer.sort(function(a, b){
     return (parseInt($(a).attr('rank')) - parseInt($(b).attr('rank')));
  });

  officer.each(function(i,v){
    alert($(v).attr('rank'));
  });
});    
2 голосов
/ 16 июня 2010

Если вы динамически генерируете свой xml-файл на сервере, лучшим способом будет сортировка данных на стороне сервера.Некоторые обсуждения здесь .

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

Как то так должно работать

var officers = $('officer'); // unsorted

function matchRank(a, b) {
    return (int)a.attr('rank') - (int)b.attr('rank');
};

officers.sort(matchRank); // sorted
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...