Сортировать содержимое по алфавиту - PullRequest
3 голосов
/ 12 июня 2010

Поэтому я добавляю следующее после вызова AJAX, и этот вызов AJAX может произойти несколько раз, возвращая несколько элементов данных. И я пытаюсь использовать Tinysort [http://plugins.jquery.com/project/TinySort] для сортировки списка каждый раз, чтобы добавленные новые элементы были аккуратно интегрированы и отсортированы по алфавиту.

К сожалению, это не похоже на работу. Есть идеи? Я имею в виду, что сами данные добавляются правильно, но, к сожалению, сортировка не выполняется.

var artists = [];

$.each(data.artists, function(k, v) {
 artists.push('<section id="artist:' + v.name + '" class="artist"><div class="span-9"><img alt="' + v.name + '" width="34" height="34" class="photo" src="' + v.photo + '" /><strong>' + v.name + '</strong><br/><span>' + v.events + ' upcoming gig');

 if (v.events != 1) {
  artists.push('s');
 }

 artists.push('</span></div><div class="span-2 align-right last">Last</div><div class="clear"></div></section>');
});

$('div.artists p').remove();
$('div.artists div.next').remove();
$('div.artists').append(artists.join('')).append('<div class="next"><a href="#">Next</a></div>');
$('div.artists section').tsort('section[id]', {orderby: 'id'});

Спасибо!

1 Ответ

1 голос
/ 12 июня 2010

Предлагаю отсортировать данные на стороне сервера.Не знаю, какой у вас источник данных, но в большинстве случаев гораздо проще перенести логику сортировки на сервер.

С сортировкой в ​​Javascript вы можете столкнуться с проблемами в разных браузерах, когда ваши данные будут содержать символы не-ascii(некоторые браузеры могут сортировать такие данные, а некоторые нет).Это приводит к разному поведению между браузерами, которое, как я думаю, не ожидается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...