Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/11/2021, 05:36
Avatar de dryant
dryant
 
Fecha de Ingreso: agosto-2009
Ubicación: Malaga, Ceuta, España....
Mensajes: 283
Antigüedad: 14 años, 8 meses
Puntos: 10
Respuesta: Detectar fila al hacer click en el boton para coger id de registro

Muchísimas gracias Marvin!!!
Comprobado y funciona perfectamente!
Además con los comentarios tan explícitos me ha quedado clarísimo la forma de proceder para futuras ocasiones!
Mil gracias!!!!

Cita:
Iniciado por Marvin Ver Mensaje
Para trabajar correctamente con Javascript debes considerar el uso del html de manera estricta, en otras palabras, usar correctamente lo necesario para acceder a cada control.

Si bien en Javascript se permite la obtención de controles por clase, por atributo o incluso por nombre, la recomendación es que uses el acceso más directo a cada control, lo que usualmente se traduce como ID. Esto te servirá para evitar traer 20 controles y tener que escoger uno cuando lo que realmente necesitas es ir a buscar un sólo valor.
Código HTML:
<input type="text" value="1" class="id" id="primerInput" /> 
Por otro lado ten en cuenta que el ID de cada cosa debe ser distinto:
Código HTML:
<input type="text" value="1" class="id" id="primerInput" />
<input type="text" value="2" class="id" id="segundoInput" > 
Con esto agregado a tu HTML ya te permite usar un código Javascript para acceder al valor del primer control:
Código HTML:
<script type="text/javascript">
var inputUno = document.getElementById("primerInput").value;
alert(inputUno);
</script> 
Por lo que vi en tu codepen, estas usando jQuery. La manera de acceder a estos controles sería esta:
Código HTML:
<script type="text/javascript">
$(document).ready(function(){
	$("button").click(function() {
		alert($("#primerInput").val());
	});
});
</script> 
Ahora, para hacer lo que imagino quieres hacer, puedes usar este mecanismo, utilizando la estructura actual de tu HTML y sacando beneficios del uso de jQuery:
Código HTML:
<script type="text/javascript">
$(document).ready(function(){
	$("button").click(function() {
		//Con esto le dices que vayas al elemento "padre" del boton
		// (que es un td) y luego que suba al padre de los td (un tr)
		// y dentro de ese tr que encuentre el primer "hijo" (el primer td)
		td = $(this).parent().parent().find(':first-child');
		//Luego en ese primer td buscas el input con la clase .id y tomas el valor
		dataId = td.find('input.id').val();
		//Y en el siguiente td (next) buscas el input con la clase nombre
		dataNm = td.next().find('input.nombre').val();
		//Esto es para que puedas validar los datos en la consola
		console.log(dataId);
		console.log(dataNm);
	});
});
</script> 
Suerte!
__________________
Tecnología y tutoriales