Foros del Web » Programando para Internet » Javascript »

Seleccionar elemento de "select" segun valor

Estas en el tema de Seleccionar elemento de "select" segun valor en el foro de Javascript en Foros del Web. Hola a todos tengo el siguiente problema: Tengo algunos selects que cargan datos dinamicamente mediante funciones cn xmlHttpRequest, el tema, es que tengo que seleccionar ...
  #1 (permalink)  
Antiguo 18/01/2006, 23:53
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago
Mensajes: 105
Antigüedad: 20 años, 10 meses
Puntos: 1
Seleccionar elemento de "select" segun valor

Hola a todos tengo el siguiente problema:

Tengo algunos selects que cargan datos dinamicamente mediante funciones cn xmlHttpRequest, el tema, es que tengo que seleccionar algunos elementos, pero como la carga es dinamica, solo se su valor y no su posicion dentro del array de elementos del select.

Para esto, tengo una funcion a la cual le paso, el select (por su ID) y el segundo parametro es el valor a buscar, esto es:

Código:
function seleccionaSelectValor(elSelect, valor){
	var encontrado = false;
	
	for (var i=0 ; i<elSelect.length ; i++){
		//alert(elSelect.options[i].value + ' = ' + valor);
		if (elSelect.options[i].value != "" && elSelect.options[i].value == valor){
			elSelect.options[i].selected = true;
			encontrado = true;
			break;
		}
	}
	
	if (!encontrado)
		alert("No encontrado elemento select");
}
Esto es:
select1, tengo que el elemento que quiero seleccionar, vale 3 funciona ok!
select2, tengo el valor 23, pero no encuentra el elemento.

He comprobado que el elemento este en lista, tanto viendo el codigo generado como comparaciones en tiempo de ejecucion (ver linea comentada) y existe, pero no lo encuentra.

En resumen, esta funcion me funciona solo una vez.

Alguna idea ?
  #2 (permalink)  
Antiguo 19/01/2006, 01:20
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

En las FAQs tienes la solución... debes hacer la asignación al select y no al array de options...

elSelect.value = valor;

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 19/01/2006, 07:21
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago
Mensajes: 105
Antigüedad: 20 años, 10 meses
Puntos: 1
Hola, primero que todo, gracias por responder.

Mira tu solucion me funciono bien, pero el comportamiento es el mismo, solo lo hace una vez!

Ahora el tema es que, sera, que no reconoce los elementos del select llenado con AJAX ?, esto porque el primer elemento es llenado con PHP al cargar la pagina (html) y el segundo es un select vacio, que lleno con JS y AJAX.

Lo extraño, es que hago los alerts de comparacion y esta todo ok!, incluso he "parseado" para todos los tipos y sigue igual.

Muy extraño.
  #4 (permalink)  
Antiguo 19/01/2006, 07:39
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago
Mensajes: 105
Antigüedad: 20 años, 10 meses
Puntos: 1
He sigo investigando y bueh..... encontre una forma de hacerlo funcionar, pero no es lo correcto ni usable.

Si tengo los valores que quiero seleccionar de un select, digamos:

select1.value = ajaxvalor1;
select2.value = ajaxvalor2;

No funciona, pero si hago:

select1.value = ajaxvalor1;
alert("algo");
select2.value = ajaxvalor2;

Funciona!!
Que significa esto!
  #5 (permalink)  
Antiguo 22/01/2006, 23:48
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago
Mensajes: 105
Antigüedad: 20 años, 10 meses
Puntos: 1
Le he dado mil vueltas al tema pero no he encontrado solucion, el comportamiento es exactamente el mismo. Incluso he probado sacando el foco del objeto y dandoselo nuevamente, o lo mismo, pero a la ventana pero nada aun...
  #6 (permalink)  
Antiguo 23/01/2006, 09:27
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
este problema ocurre con algun navegador en especial?? Lo probaste en Firefox y/u Opera???
__________________
by Capitán Buscapina
.
  #7 (permalink)  
Antiguo 23/01/2006, 11:53
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago
Mensajes: 105
Antigüedad: 20 años, 10 meses
Puntos: 1
Es en explorer. La aplicacion esta hecha para correr solo en IE, puesto que es de una intranet, asi que no lo he probado para otros navegadores.

Gracias por responder, un saludo.
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 21:07.