Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] jquery obtener el valor de un value button

Estas en el tema de jquery obtener el valor de un value button en el foro de Jquery en Foros del Web. jquery obtener el valor de un value button Hola buenas tardes a todos, tengo el siguiente problema llevo días intentando encontrar la solución pero hasta ...
  #1 (permalink)  
Antiguo 19/10/2013, 10:21
 
Fecha de Ingreso: octubre-2013
Ubicación: Canarias
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 0
Mensaje jquery obtener el valor de un value button

jquery obtener el valor de un value button

Hola buenas tardes a todos,
tengo el siguiente problema llevo días intentando encontrar la solución pero hasta el día de hoy no lo he logrado.

se perfectamente como se obtiene el valor del atributo value con jquery pero en el código que he desarrollado ahora no logro obtener el valor solo obtengo el valor del primer value. La cosa es que estoy creando una tabla dinamicamente desde jquery y también genero un button yo quería obtener los valores de cada uno de los button al pinchar sobre el pero solo obtengo el primer valor.


El problema es que así solo obtengo el value del primer button. Y creo que esto sucede porque al hacer "$(table).appendTo('.tabla');" la tabla se añade al <div class="tabla"></div>

$(".tabla").click(function() {
var v =$(".tabla .eliminar").val();
alert(v);
});



Dejo el código completo:

<!DOCTYPE html>
<html lang="es">
<head>
<title>Marketing Digital Networks</title>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"></script>
<meta name="description" content="Marketing Digital Network" />

<script src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#crear_tabla").click(function() {
var table = document.createElement("table"); // Se crea el elemento table
for (i=1; i<=6; i++) {
var tr = document.createElement("tr"); // Se crea el elemento fila

var td = document.createElement("td"); // Se crea el elemento columna
td.setAttribute("width", "20%");
td.innerHTML ="Prueba" + i;
tr.appendChild(td);

var td = document.createElement("td");
td.setAttribute("width", "20%");
td.innerHTML ="Prueba" + i;
tr.appendChild(td);

var td = document.createElement("td");
td.setAttribute("width", "20%");
td.innerHTML ="Prueba" + i + '<button value="' + i + '" class="eliminar">Eliminar</button>';
tr.appendChild(td);

table.appendChild(tr); // Se añade la fila a la tabla
}
$(table).appendTo('.tabla'); // se añade la tabla al div cuyo nombre es tabla
});

$(".tabla").click(function() {
var v =$(".tabla .eliminar").val();
alert(v);
});
});
</script>
</head>
<body>
<div class="tabla"></div>
<button style="margin-bottom: 10px;" id="crear_tabla" class="btn">Crear tabla</button>
</body>
</html>


Agradecería que me ayuden ya que esto es muy importante lo necesito solucionar para mi proyecto que estoy haciendo en la universidad. Muchas gracias a todos.

Última edición por reynierlima; 19/10/2013 a las 11:42
  #2 (permalink)  
Antiguo 19/10/2013, 17:41
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
Respuesta: jquery obtener el valor de un value button

Que tal

Te recomiendo que pongas tu codigo en un highlight ya sea javascript html css

Para obtener el valor de un elemento button, debes usar el metodo text() de jquery, tambien se puede con el metodo html()

saludos
  #3 (permalink)  
Antiguo 20/10/2013, 04:48
 
Fecha de Ingreso: octubre-2013
Ubicación: Canarias
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: jquery obtener el valor de un value button

gracias por contestar hackjose pero no entiendo lo que me quieres decir con highlight . yo obtengo el valor del elemento button pero solo me devuelve el primer valor si te fijas tengo un bucle y el button esta dentro del bucle td.innerHTML ="Prueba" + i + '<button value="' + i + '" class="eliminar">Eliminar</button>'; y en value va tomando los distintos valores de la varible i la cosa es que cuando se ejecuta el listener

$(".tabla").click(function() {
var v =$(".tabla .eliminar").val(); -- aqui obtengo el valor del buton eliminar pero solo me devuelve el 1 valor
alert(v);
});

solo obtengo el primer valor del button y si pincho en los demás button que se generan de forma dinamica me sigue devolviendo el 1 valor ese es el problema

he usado ya los dos métodos que me has recomendado alert($(".elimina").text()); alert($(".elimina").html()); pero sigo con el mismo problema solo me devuelve el valor del primer buttony los demás si pincho sobre ellos me devuelve el mismo valor que el 1 button

Última edición por reynierlima; 20/10/2013 a las 07:59
  #4 (permalink)  
Antiguo 20/10/2013, 11:36
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 6 meses
Puntos: 36
Respuesta: jquery obtener el valor de un value button

Tienes que jugar con las funciones .next(), .find(), .first(), etc.

Saludos
  #5 (permalink)  
Antiguo 20/10/2013, 13:31
 
Fecha de Ingreso: octubre-2013
Ubicación: Canarias
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: jquery obtener el valor de un value button

si no veo un ejemplo me parecera dificil porque ya he probado de muchas formas y sigo obteniendo el mismo valor de los botones value
  #6 (permalink)  
Antiguo 20/10/2013, 15:56
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 2 meses
Puntos: 57
Información Respuesta: jquery obtener el valor de un value button

Hola reynierlima, que tal.

El selector "$('.tabla .eliminar')" es una colección de elementos. Entonces no puedes pretender obtener el valor de ellos, con .val(), como si se tratara de uno solo.

Deberás recorrer los elementos que obtendrás con el método .each(), de la siguiente manera:

Código Javascript:
Ver original
  1. $('.tabla').click(function() {
  2.     $('.tabla .eliminar').each(function(){
  3.         alert($(this).val()) // te mostrará tantos "alerts" como buttons con clase "eliminar" tengas.
  4.     });
  5. });
  #7 (permalink)  
Antiguo 20/10/2013, 16:13
 
Fecha de Ingreso: octubre-2013
Ubicación: Canarias
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: jquery obtener el valor de un value button

Gebremswar gracias ya pude obtener los valores de los buttons. Pero yo lo que necesito saber exactamente ahora es como saber de los varios buttons que se van generando el valor del button que se haya clicado en el momento no de todos.
  #8 (permalink)  
Antiguo 20/10/2013, 16:20
 
Fecha de Ingreso: octubre-2013
Ubicación: Canarias
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: jquery obtener el valor de un value button

Gebremswar gracias ya pude obtener los valores de los buttons. Pero yo lo que necesito saber exactamente ahora es como saber de los varios buttons que se van generando el valor del button que se haya clicado en el momento no de todos.
  #9 (permalink)  
Antiguo 20/10/2013, 20:17
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 2 meses
Puntos: 57
Respuesta: jquery obtener el valor de un value button

Lo que te recomiendo es que consultes la API de JQuery y aprendas a usar esta librería. Ya que después del ejemplo que dejé no deberías preguntar algo como lo de tu último mensaje.

Código Javascript:
Ver original
  1. $('.tabla').on('click', function() {
  2.     alert($(this).find('.eliminar').val())
  3. });
  #10 (permalink)  
Antiguo 21/10/2013, 01:45
 
Fecha de Ingreso: octubre-2013
Ubicación: Canarias
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: jquery obtener el valor de un value button

Agradezco tu tiempo y tu respuesta eso lo había probado lo que me devuelve es el primer valor del button pero si pincho en otros botones me devuelve el mismo valor que el primer button

$('.tabla').on('click', function() {
alert($(this).find('.eliminar').val());
});

Última edición por reynierlima; 21/10/2013 a las 02:39
  #11 (permalink)  
Antiguo 21/10/2013, 07:39
 
Fecha de Ingreso: enero-2012
Ubicación: Santiago de Surco, Lima - Perú
Mensajes: 266
Antigüedad: 12 años, 2 meses
Puntos: 57
Información Respuesta: jquery obtener el valor de un value button

Cita:
Iniciado por reynierlima Ver Mensaje
Agradezco tu tiempo y tu respuesta eso lo había probado lo que me devuelve es el primer valor del button pero si pincho en otros botones me devuelve el mismo valor que el primer button

$('.tabla').on('click', function() {
alert($(this).find('.eliminar').val());
});
Tienes razón, cometí un error. Lo que necesitas es delegar el evento al button de la siguiente manera:

Código Javascript:
Ver original
  1. $('.tabla').on('click', '.eliminar', function() {
  2.     alert($(this).val())
  3. });


Y por favor usa el highlight para insertar código en los mensajes.

  #12 (permalink)  
Antiguo 21/10/2013, 08:15
 
Fecha de Ingreso: octubre-2013
Ubicación: Canarias
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: jquery obtener el valor de un value button

Amigo gracias de verdad por tu tiempo ya funciono ya aprendí algo más. Te lo agradezco.

Saludos y muchas gracias. Dime como te puedo dar puntos si es que sirve para algo es que soy nuevo en este foro.

Etiquetas: button, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:05.