Foros del Web » Programando para Internet » Jquery »

Actualizar valor combo con jquery

Estas en el tema de Actualizar valor combo con jquery en el foro de Jquery en Foros del Web. Hola, estoy teniendo problemas para actualizar el valor seleccionado de un combo. El combo primero se crea mediante una llamada post sin problemas. Y luego ...
  #1 (permalink)  
Antiguo 10/04/2012, 09:02
 
Fecha de Ingreso: septiembre-2009
Mensajes: 67
Antigüedad: 14 años, 7 meses
Puntos: 2
Actualizar valor combo con jquery

Hola, estoy teniendo problemas para actualizar el valor seleccionado de un combo.

El combo primero se crea mediante una llamada post sin problemas. Y luego se le asigna como valor seleccionado uno en particular:

$.post("crear_combo.php",
{
valor: document.getElementById('cb_encuesta').value,
combo:"preguntasPorEncuesta"
},
function(data){
$('#cb_pregunta').html(data);
}
);
document.getElementById('cb_pregunta').value = trim(respuesta.getElementsByTagName('pregunta').it em(0).firstChild.data);

Si bien el valor de la respuesta esta llegando correctamente, no se actualiza el item seleccionado.

Ahora si hiciera esto:

$.post("crear_combo.php",
{
valor: document.getElementById('cb_encuesta').value,
combo:"preguntasPorEncuesta"
},
function(data){
$('#cb_pregunta').html(data);
}
);
alert('Envia al navegador');
document.getElementById('cb_pregunta').value = trim(respuesta.getElementsByTagName('pregunta').it em(0).firstChild.data);

Sí se selecciona la opcion correctamente.

¿Porque estoy necesitando enviar algo al navegador para que se realice el cambio? ¿que otra solucion posible (ya que el alert esta de mas) se podria usar?

Muchas gracias.
  #2 (permalink)  
Antiguo 10/04/2012, 09:15
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Actualizar valor combo con jquery

AJAX es asincrónico. Tu código es ejecutado de arriba hacia abajo por el navegador. Al llegar al pedido de AJAX, no espera terminar para seguir. Sigue de todas formas. Esto causa que esta línea falle:

Código Javascript:
Ver original
  1. document.getElementById('cb_pregunta').value    = trim(respuesta.getElementsByTagName('pregunta').it em(0).firstChild.data);

Falla pues el elemento no existe. Cuando colocás el alert simplemente introdujiste una demora que le da tiempo a AJAX a finalizar.

Por algo $.post() tiene un parámetro para una función que se ejecute al finalizar el pedido. Lo estás haciendo ahí al llenar el combo. Simplemente poné esa línea dentro de la función.

Otra cosa, por qué:

Código Javascript:
Ver original
  1. document.getElementById('cb_pregunta')

y no:

Código Javascript:
Ver original
  1. $('#cb_pregunta')

Digo... si ya estás usando jQuery...
__________________
nahueljose.com.ar
  #3 (permalink)  
Antiguo 10/04/2012, 09:29
 
Fecha de Ingreso: septiembre-2009
Mensajes: 67
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Actualizar valor combo con jquery

Muchas gracias! resta aprender mucho de jquery entonces

Etiquetas: Ninguno
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 14:01.