Jquery 按字母顺序对内容排序
因此,我在一个AJAX调用之后附加以下内容,这个AJAX调用可能会发生多次,返回几个数据项。我尝试使用Tinysort[每次都对列表进行排序,因此添加的新项目可以很好地集成并按字母顺序排序 不幸的是,它似乎不起作用。有什么想法吗?我的意思是,数据本身被正确地追加,但不幸的是排序没有发生Jquery 按字母顺序对内容排序,jquery,Jquery,因此,我在一个AJAX调用之后附加以下内容,这个AJAX调用可能会发生多次,返回几个数据项。我尝试使用Tinysort[每次都对列表进行排序,因此添加的新项目可以很好地集成并按字母顺序排序 不幸的是,它似乎不起作用。有什么想法吗?我的意思是,数据本身被正确地追加,但不幸的是排序没有发生 var artists = []; $.each(data.artists, function(k, v) { artists.push('<section id="artist:' + v.name
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'});
var=[];
$。每个(数据、艺术家、函数(k、v){
艺人推送(“”+v.name+”
“+v.events+“即将到来的演出”);
如果(v.events!=1){
艺术家。推送('s');
}
艺术家。推(“最后”);
});
$('div.p').remove();
$('div.artists div.next').remove();
$('div.artists').append(artists.join('').append('');
$('div.artists section').tsort('section[id]',{orderby:'id'});
谢谢!我建议在服务器端对数据进行排序。不确定您的数据源是什么,但在大多数情况下,将排序逻辑移动到服务器应该更容易
使用Javascript进行排序时,当数据包含非ascii字符时,您可能会在不同的浏览器中遇到问题(有些浏览器可以对此类数据进行排序,有些则不能)。这会导致浏览器之间的行为不同,这是我想不到的。这是一个很好的决定。决定改用服务器端,解决了一些阻止这种情况发生的问题,现在就这样做。我想从长远来看,正如你所说的那样,这样做会更容易。谢谢!我很高兴这对你有所帮助。我认为这样做更容易,也更方便来自不同浏览器的ee问题,如js实现中的不同字符串比较方法。我在前一段时间很难重新实现所有受非ascii字符影响的逻辑。例如Opera无法正确排序字符串。干杯!