Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 按字母顺序对内容排序_Jquery - Fatal编程技术网

Jquery 按字母顺序对内容排序

Jquery 按字母顺序对内容排序,jquery,Jquery,因此,我在一个AJAX调用之后附加以下内容,这个AJAX调用可能会发生多次,返回几个数据项。我尝试使用Tinysort[每次都对列表进行排序,因此添加的新项目可以很好地集成并按字母顺序排序 不幸的是,它似乎不起作用。有什么想法吗?我的意思是,数据本身被正确地追加,但不幸的是排序没有发生 var artists = []; $.each(data.artists, function(k, v) { artists.push('<section id="artist:' + v.name

因此,我在一个AJAX调用之后附加以下内容,这个AJAX调用可能会发生多次,返回几个数据项。我尝试使用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'});
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无法正确排序字符串。干杯!