3
因此,我在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'});
谢谢!
良好的通话。决定切换到服务器端,制定了一些防止这种情况发生并现在这样做的问题。就像你说的那样,我认为从长远来看更容易。谢谢! – James 2010-06-12 14:32:57
我很高兴这对你有所帮助。我认为它更容易,也免除了跨浏览器问题,如js实现中的不同字符串比较方法。我前段时间很难重新实现受到事实影响的所有逻辑,例如Opera无法正确排序非ascii字符的字符串。干杯! – dzida 2010-06-13 19:07:08