JQuery - Obtener valor de una celda proxima.

   
Vista:

Obtener valor de una celda proxima.

Publicado por Javier (18 intervenciones) el 26/01/2014 20:32:57
Buena noches.
Tengo un formulario que es una tabla dinámica cargada desde mysql.
En la primera columna de la tabla cada celda tengo un checkbox.
Necesito obtener el valor de la celda anexa cada vez que marco el checkbox correspondiente.
Con esta funcion obtengo el numero de fila del checkbox marcado:
Supongamos que la primera columna de la tabla tiene el checkbox y necesito el valor de la celda sigueinte a esta columna.
$("input[name='alta']").live('click', function(){
var filaactual =$(this).closest('tr').index();
});

Indico que el cuerpo de la tabla lo genero con instrucciones como esta, por lo que las celdas tienen inputs:

'<td style="vertical-align: top;"><input size="9" name="dni" id="'+ dni +'" style="background-color: orange;"> </td>'+
...

Por lo que el contenido de la celda no es un texto si no un input con el valor retornado desde mysq.

Lo que no consigo es obtener el contenido de la celda anexa. Lo intento con:

alert($("#tabla").find("tr:eq("+filaactual+"),td:eq(1)").text());

Donde supongo que estoy haciendo referencia al elemento que pretendo pero siempre me retorna el valor de la cabecera de la tabla.

La verdad es que llevo todo el día dándole vueltas y no he sido capaz de averiguarlo.

Un saludo,
Javier.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Obtener valor de una celda proxima.

Publicado por xve (557 intervenciones) el 26/01/2014 21:50:33
Hola Javier, creo que te puede servir next()
http://api.jquery.com/next/

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Obtener valor de una celda proxima.

Publicado por Javier (18 intervenciones) el 27/01/2014 19:37:34
Muchas gracias.
Pero no tengo muy claro como utilizar next() sobre una celda de la tabla.
De todas formas he conseguido mas o menos lo que pretendo con esto:

1
2
3
var filaactual = $(this).closest('tr').index();
alert(filaactual);
alert($("#tabla > #cuerpotabla").find('tr:eq('+filaactual+'),td:eq(1) > input').val());

Pero "filaactual siempre me devuelve -1.

Y me retorna el primer elemento de la columna que pretendia.
Ahora me he dado cuenta que tanto para las filas como para las columnas me devuelve -1 con estas instrucciones:

1
2
3
4
5
6
7
8
$("#tabla > #cuerpotabla ").click(function() {
	//
	alert ($(this).attr("id"));
	var $d = $(this).parent('td').parent('tr');
   	var $col = $d.parent().children().index($d);
   	var $row = $d.parent().parent().children().index($d.parent());
        alert($col + ',' + $row);
});

Y no toma el valor del numero de la fila sobre la que pulso el checkbox.

Un saludo,
Javier.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar