Donc, j'ajoute ce qui suit après un appel AJAX, et cet appel AJAX peut arriver plusieurs fois, renvoyant plusieurs éléments de données. Et j'essaie d'utiliser Tinysort [http://plugins.jquery.com/project/TinySort] pour trier la liste à chaque fois, donc les nouveaux éléments ajoutés sont bien intégrés et triés par ordre alphabétique.Trier le contenu par ordre alphabétique
Malheureusement, cela ne semble pas fonctionner. Des idées? Je veux dire, les données elles-mêmes sont correctement ajoutées, mais malheureusement le tri n'a pas lieu.
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'});
Merci!
Bon appel. Décidé d'opter pour le côté serveur, j'ai résolu quelques problèmes qui empêchaient cela de se produire et de le faire de cette façon. Je suppose que c'est plus facile à long terme, comme vous le dites. Merci! – James
Je suis content que cela vous a aidé. C'est plus facile je pense et aussi il est libre de problèmes de cross-navigateurs comme des méthodes de comparaison de chaînes différentes dans les implémentations de js. J'ai eu du mal il y a quelque temps à réimplémenter TOUTES les logiques affectées par le fait que par ex. Opera ne pouvait pas trier correctement les chaînes avec des caractères non ascii. À votre santé! – dzida