因此,我在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'});谢谢!
发布于 2010-06-12 13:17:14
我建议在服务器端对数据进行排序。不确定您的数据源是什么,但在大多数情况下,将排序逻辑移动到服务器应该容易得多。
使用Javascript中的排序,当您的数据包含非ascii字符时,您可能会在不同的浏览器中遇到问题(有些浏览器可以对此类数据进行排序,有些则不能)。这导致了不同浏览器之间的不同行为,这并不是我所期望的。
https://stackoverflow.com/questions/3027230
复制相似问题