¿Como cambiar el valor del find en una tabla con un popup? – javascript jquery

Pregunta:


tengo el siguiente problema, abro una ventana emergente. al presionar el boton guardar esta actualiza el tr actual de la tabla. Esto lo hace muy bien con esto:

parent = linkObj.closest("tr");
                             parent.find('td, th').css('background-color', '#58ACFA');

Pero dentro de esta ventana emergente tengo un botón que va al siguiente registro.

Con este código obitne el sigueinte registro sin problema:

parent = linkObj.closest("tr").next('tr');

Pero si quiero llegar hasta el tercero ya no me deja.

intente hacer un foreach para ver si le iba asignando el siguiente parent al objeto.

Pero el .next solo obtiene el siguiente a partir del orginal:

for (var i = 0; i <= contador; i++)
                          {
                              parent = linkObj.closest("tr").next('tr');

¿Cual seria la forma correcta de hacer esto?

Gracias.

Preguntado por: LoganFenix

Mauro Petrini

Una alternativa es hacer uso de una variable para detectar la posición de tu fila y a partir de ahí incrementar su valor +1 en caso de que se presione el botón que va al siguiente registro.

luego con esa variable podes acceder a la fila, porque esa variable corresponde al indice de tu fila

mira el siguiente ejemplo que arme

var position = 0;

$('.link').click(function() {
  position = $('tbody tr').index($(this).closest('tr'));
  $('tbody').find('tr').eq(position).css('background-color','#58ACFA');  
});

$('.btn').click(function() {
  ++position;
  $('tbody').find('tr').eq(position).css('background-color','#58ACFA');  
});

la función eq devuelve el elemento que coincida con ese indice en el selector y ahí le aplicas el estilo

el botón next que puse fuera de la tabla, es el botón que va al siguiente registro

Muchas gracias Mauro.

Añadi lo siguiente al código y quedo perfecto

if (recorremodal == 0)
{
parent = linkObj.closest(“tr”);
parent.find(‘td, th’).css(‘background-color’,’#58ACFA’);
}

             else
               {

                      $('tbody').find('tr').eq(recorremodal).css('background-color', '#58ACFA');

                     }

Fuente

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *