Foros del Web » Programando para Internet » Jquery »

Paginar con jquery

Estas en el tema de Paginar con jquery en el foro de Jquery en Foros del Web. Hola, estoy haciendo una paginación para el resultado de una tabla y todo sale bien, salen los numeritos indicando las paginas que hay y al ...
  #1 (permalink)  
Antiguo 10/12/2010, 18:00
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 7 meses
Puntos: 8
Paginar con jquery

Hola, estoy haciendo una paginación para el resultado de una tabla y todo sale bien, salen los numeritos indicando las paginas que hay y al darle click a cada uno se muestra la información que debe mostrar.

El problema es que cuando carga la pagina por primera vez de golpe me muestra todos los registros, recien cuando doy click a algun numerito es que muestra como debe ser.

El codigo jquery esta aqui:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2. $("table.paginated").each(function(){
  3.    
  4.     var currentPage = 0;
  5.     var numPerPage = 2;
  6.     var $table = $(this);
  7.     $table.bind('repaginate', function(){
  8.         $table.find("tbody tr").hide().slice(currentPage * numPerPage,(currentPage + 1) * numPerPage).show();
  9.     });
  10.     var numRows = $table.find('tbody tr').length;
  11.     var numPages = Math.ceil(numRows / numPerPage);
  12.     var $pager = $('<div class = "pager"></div>');
  13.    
  14.     for (var page = 0; page < numPages; page++) {
  15.         $('<span class = "page-number"></span>').text(page + 1)
  16.             .bind('click', {newPage: page},function(event){
  17.                 currentPage = event.data['newPage'];
  18.                 $table.trigger('repaginate');
  19.                 $(this).addClass('active').siblings().removeClass('active');
  20.             }).appendTo($pager).addClass('clickable');
  21.     }
  22.     $pager.insertBefore($table).find('span.page-number:first').addClass('active');
  23.    
  24. });
  25. });

Agradecería que me ayuden.
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 11/12/2010, 10:23
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Paginar con jquery

porque ocultas las filas en el evento paginate y se ejecuta cuando le dan click en los números
  #3 (permalink)  
Antiguo 11/12/2010, 11:08
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 7 meses
Puntos: 8
Respuesta: Paginar con jquery

Se oculta lo que no quiero que se vea, pero solo funciona cuando empiezo a dar click en los enlaces de las paginas, cuando inicia esta pagina de golpe aparecen todos los registros
__________________
El aprendiz.
  #4 (permalink)  
Antiguo 11/12/2010, 11:49
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 7 meses
Puntos: 8
Respuesta: Paginar con jquery

Ya lo solucione, no se si sea una solución muy buena pero ya me funciona:

le coloqué esta linea:
Código Javascript:
Ver original
  1. $table.find("tbody tr").hide().slice(currentPage * numPerPage,(currentPage + 1) * numPerPage).show();
antes de esto:
Código Javascript:
Ver original
  1. $table.bind('repaginate', function(){
  2.     $table.find("tbody tr").hide().slice(currentPage * numPerPage,(currentPage + 1) * numPerPage).show();
  3. });
__________________
El aprendiz.
  #5 (permalink)  
Antiguo 11/12/2010, 12:52
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 15 años
Puntos: 65
Respuesta: Paginar con jquery

Cita:
Iniciado por juandedios Ver Mensaje
Se oculta lo que no quiero que se vea, pero solo funciona cuando empiezo a dar click en los enlaces de las paginas, cuando inicia esta pagina de golpe aparecen todos los registros
eso es lo que digo, primero genera los números de páginas y muestra todas las filas pero recien cuando das click en algún número de pagina se ocultan y muestran dependiendo del número que presionaste, por eso sólo funciona cuando das click

otra solución a la que pusiste es lanzar un click en el primero número

o sino, $("tutabla tr:gt("+ (numPerPage - 1 )+")").hide(); te oculta todos los tr despues del indice dado

Última edición por Dany_s; 11/12/2010 a las 13:00

Etiquetas: paginar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:15.