Para ponerlos en contexto primero quisiera explicar el sistema, vendría siendo un procedimiento por el cual al cargar la pagina se muestran 5 registros y dependiendo si existen mas de 5 registros se habilitará un botón el cual cuando se presione ejecutará una función JS (Ajax) que llamará a un archivo .php
El sistema funciona perfecto o mejor dicho casi perfecto, ya que lo único que me falta para que quede totalmente terminado es lo siguiente:
En el archivo .php pre-cargado
Código
if($cantidad_total >= 6) // Cantidad total se refiere a la cantidad total de registros encontrados { ?> <script type="text/javascript"> // habilita o crea la función que al dar click en X botón mostrará más registros $(".boton_mas_resultados").click(function() { var cantidad_vista = document.querySelectorAll('.box_resultado_busqueda').length; More_Results_Registros(cantidad_vista, <?php echo($cantidad_total); ?>); }); </script> <?php }
Ahora en el archivo ajax.js donde está la función more results
Código
function More_Results_Registros(cantidad_vista, cantidad_total) { var cant_actual = cantidad_total- cantidad_vista; if(cantidad_actual >= 1) // Si quedan registros disponibles para mostrar al menos 1 { document.body.style.cursor = "progress"; } $.ajax({ url: 'ajax/elficheroajax.php', type: 'POST', dataType: 'html', data: {cantidad_vista, cantidad_total}, success: function() { document.body.style.cursor = "default"; } }) .done(function(anuncios) { if(cantidad_actual >= 1) { $('.mostrador').html(anuncios); } }) }
Básicamente lo que hace este código es que si no hay ningún registro disponible para mostrar en una próxima tanda no va a ejecutar ni a llamar ningún fichero ya que es algo totalmente innecesario.
El problema radica que necesito que esa cantidad_total va a ser actualizada por lo que no puedo usar siempre el mismo <script> que llama a la función more que es cuando se da click a dicho botón.
Mi idea era agregar un nuevo fragmento de código <script> en el fichero ajax que llamamos desde ajax.js
re-actualizando o recreando el script, nosé bien si este seria un metodo optimo para hacerlo.
Gracias