Estoy haciendo para mi web una paginacion con javascript. el problema viene cuando despues de darle que me mustre todas las paginas mediante el siguiente, le doy al anterior hasta la pagina uno y sin ningun problema pero cuando le vuelvo a dar al siguiente no me muestra los resultados.
hago un alert de la pagina actual para ver donde esta el fallo.
suponiendo que tengo 3 paginas.
cuando empiezo la pagina actual vale 1 le doy a siguiente vale 2 asi hasta la tercera. despues cuando vuelvo atras vale 2 asi jhasta la 1 y aca es cuando viene el problema le doy otra ves al siguiente y me sale dos alert uno con pagina actual 2 y otro con pagina 1.
no entiendo porque me sale el segundo alert de pagina 1 cuando se tendria que quedar en 2.
les dejo el codigo que hice.
Código Javascript:
Ver original
function siguiente(total_reg, num_reg_xpag, num_pag, pag_actual, total_reg_pag, equipo){ if (pag_actual<num_pag){ //pagina actual pag_actual = pag_actual+1 alert(pag_actual); i = total_reg_pag //total registro segun paginas total_reg_pag = pag_actual*num_reg_xpag; $('#tabla td').remove(); while (i<=total_reg_pag){ if(equipo[i] != undefined){ $('#tabla tr:last').after('<tr><td>'+equipo[i]+'</td></tr>'); } i++ } $('#siguiente').click(function(){ siguiente(total_reg, num_reg_xpag, num_pag, pag_actual, total_reg_pag, equipo); }); if (pag_actual == num_pag){ siguiente(total_reg, num_reg_xpag, num_pag, pag_actual, total_reg_pag, equipo); } }else{ $('#siguiente').css("display", "none"); $('#anterior').text("anterior"); $('#anterior').click(function(){ anterior(total_reg, num_reg_xpag, num_pag, pag_actual, total_reg_pag, equipo); }); } } function anterior(total_reg, num_reg_xpag, num_pag, pag_actual, total_reg_pag, equipo){ if (pag_actual>1){ //pagina actual pag_actual = pag_actual-1 alert(pag_actual); //total registro segun paginas total_reg_pag = pag_actual*num_reg_xpag; i = total_reg_pag-num_reg_xpag //total registro segun paginas total_reg_pag = pag_actual*num_reg_xpag; $('#tabla td').remove(); while (i<=total_reg_pag){ if(equipo[i] != undefined){ $('#tabla tr:last').after('<tr><td>'+equipo[i]+'</td></tr>'); } i++ } $('#anterior').click(function(){ anterior(total_reg, num_reg_xpag, num_pag, pag_actual, total_reg_pag, equipo); }); //alert(num_pag); if(pag_actual == 1){ anterior(total_reg, num_reg_xpag, num_pag, pag_actual, total_reg_pag, equipo); } }else{ $('#anterior').css("display", "none"); $('#siguiente').css("display", "block"); $('#siguiente').click(function(){ //alert(pag_actual); siguiente(total_reg, num_reg_xpag, num_pag, pag_actual, total_reg_pag, equipo); }); } } //total de registros total_reg = registro; //alert(total_reg); //numero de registro por paginas num_reg_xpag = 6; //total de paginas segun la cantidad de registro //alert(total_reg/num_reg_xpag); num_pag = Math.ceil(total_reg/num_reg_xpag); //alert(num_pag); //pagina actual pag_actual = 1; //alert(num_pag); //total registro segun paginas total_reg_pag = pag_actual*num_reg_xpag; $('#tabla td').remove(); for (i=0; i<=total_reg_pag; i++){ $('#tabla tr:last').after('<tr><td>'+equipo[i]+'</td><td>'+ip[i]+'</td><td>'+tipo[i]+'</td><td>'+marca[i]+'</td><td>'+modelo[i]+'</td><td>'+ubicacion[i]+'</td><td>'+departamento[i]+'</td></tr>'); } $('#siguiente').text("s"); $('#siguiente').click(function(){ siguiente(total_reg, num_reg_xpag, num_pag, pag_actual, total_reg_pag, equipo); });
saludos