Bonjour à tous,
J'aurais besoin d'un coup de main pour de la pagination en Javascript. J'ai récupéré depuis un call Ajax des données en JSON (about 5000). Du coup je souhaiterais faire une pagination de ce call mais mes données ne s'affichent que sur la première page :/
Je ne vois absolument pas comment faire :/
Voici mon début de code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | mobile: function(min, max){ var _self = this; _self.getData({ 'cPosMin' : min, 'cPosMax' : max, 'mobile': true, 'isActive': _self._active}, function(data){ var listAdmin = jQuery('<ul>'), listUser = jQuery('<ul>'), paginate = jQuery('<div class="car_nav">'), nbElemPerPages = 20, page = 0;; jQuery('#user_list').html(''); jQuery('#admin_list').html(''); // sort name ascending data.results.sort(function(a,b){return a.name -b.name}); jQuery.each(data.results, function(key, user){ // displaying info var item = jQuery('<li class="type'+user.type+'" rel="'+ user.id + ' ">'); item.append(jQuery('<div class="add">')); item.append(jQuery('<h3>').html(user.label); ...// other stuff if(user.type == 2){ // admin listAdmin.append(item); } else { listUser.append(item); } nbElemPerPages--; if(nbElemPerPages === 0){ page++; nbElemPerPages = 20; paginate.append('<a href="#" onclick="showPage(' + page + ');"><</a>'); jQuery('#user_list').append(list); } }); jQuery('#user_list').append(list); jQuery('#admin_list').append(listAdmin); return false; }); } |
Mon code HTML:
1 2 3 4 | <div id="content_list"> <div id="user_list"></div> <div id="admin_list"></div> </div> |
Je n'arrive pas à faire en sorte que lorsque je clique sur mes pages 1/2/etc.. il affiche un contenu différent. J'ai pensé à faire un énorme tableau se composant de tableaux de 20 éléments uniquement mais je suis confronté au même problèmes car je ne vois pas comment lui dire lors du clic sur la page 2 charge les éléments.
Je ne souhaite pas refaire un call Ajax. Je voudrais le faire en une fois.
Quelqu'un pourrait il m'aider?
Merci d'avance
EDIT: Le soucis aussi ici, c'est que je suis dans une librairie custom. Je voudrais donc pouvoir tout faire dans la même méthode si possible ou faire appelle à mes méthodes mais dans ma librairie.
EDIT 2 : En fait avec ta méthode je vais faire boucle sur boucle non ? Ce n'est pas trop génial pour les perfs si ?