Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Problema al visualizar datos de una tabla a un select

Estas en el tema de Problema al visualizar datos de una tabla a un select en el foro de Jquery en Foros del Web. Hola estoy tratando de pasar un valor de una tabla a un select estoy utilizando esta línea de código: Código: $('#categoria option[value='+$(this).parent().parent().children('td:eq(1)').text()+']').attr('selected', true); pero no ...
  #1 (permalink)  
Antiguo 19/12/2014, 22:37
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 2 meses
Puntos: 1
Problema al visualizar datos de una tabla a un select

Hola estoy tratando de pasar un valor de una tabla a un select estoy utilizando esta línea de código:

Código:
$('#categoria option[value='+$(this).parent().parent().children('td:eq(1)').text()+']').attr('selected', true);
pero no me funciona =( a que se debe? noc si debe a que estoy utilizando bootstrap
  #2 (permalink)  
Antiguo 20/12/2014, 03:53
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Problema al visualizar datos de una tabla a un select

Para establecer un valor con jQuery, puedes usar el método .val() y como también quieres que se muestre dicho valor en texto (no solo como valor interno de la opción), utiliza el método .text(). Nunca hagas esto: [value='lo que sea'], esa no es la manera correcta ni de obtener ni de asignar un valor.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 20/12/2014, 22:16
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema al visualizar datos de una tabla a un select

Hola Alexis88 gracias por responderme, pensé que para pasar valores a select se utilizaba así, eso lo vi en un vídeo que explicaban.

Tenias razón con val obtengo el valor del select. A la final utilice un foreach para que verificará el texto del la tabla con el select y una vez que coincidiera, quitaba el que estaba seleccionado y seleccionaba el que coincidió, este es el código:
Código:
	var txt=$(this).parent().parent().children('td:eq(2)').text();
			$('#categoria option').each(function(i, selected){
				if(txt===$(selected).text())
				{
					$('#categoria').find('option:selected').removeAttr('selected');
					$(selected).attr('selected',true);
				}
				
			});
Ahora una duda que tengo para que me funcionará el foreach tuve que agregar los parámetros i, selected pero en realidad la i no la utilizó pero si la quito deja de funcionar, por qué?
  #4 (permalink)  
Antiguo 21/12/2014, 00:39
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Problema al visualizar datos de una tabla a un select

Porque como se indica en el manual oficial, el primer parámetro que recibe el callback de dicho método es el índice del elemento en el conjunto sobre el cual se está iterando y el segundo parámetro es el elemento en sí, por lo que si eliminas al segundo parámetro, por más que le des nombres como 'element', 'elemento' o similares, siempre hará referencia al índice, aunque también puedes obviar los parámetros y hacer referencia al elemento utilizando la palabra reservada this.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 21/12/2014, 16:32
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema al visualizar datos de una tabla a un select

Muchas Gracias Alexis88 ahora si me despejaste la duda, con razón al quitar el elemento dejaba de funcionar, a la final obvie los parámetros y utilice this.

Etiquetas: select, tabla
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 23:41.