Foros del Web » Programando para Internet » Javascript »

Problema con propiedad SelectedIndex Combo/Lista

Estas en el tema de Problema con propiedad SelectedIndex Combo/Lista en el foro de Javascript en Foros del Web. Tengo el siguiente codigo Código: for(i=0;i<=Fields.length-1;i++){ if(document.getElementById(Fields[i]).tagName=="SELECT"){ if(document.getElementById(Fields[i]).options[document.getElementById(Fields[i]).selectedIndex].value=='@'){ ... El for recorre todos los campos guardados en el array "Fields" cuando encuentra un combo pregunta ...
  #1 (permalink)  
Antiguo 25/09/2007, 15:59
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Problema con propiedad SelectedIndex Combo/Lista

Tengo el siguiente codigo
Código:
for(i=0;i<=Fields.length-1;i++){
   if(document.getElementById(Fields[i]).tagName=="SELECT"){
      if(document.getElementById(Fields[i]).options[document.getElementById(Fields[i]).selectedIndex].value=='@'){
...
El for recorre todos los campos guardados en el array "Fields" cuando encuentra un combo pregunta si la opcion seleccionada vale "@" (ese es el valor que tiene el texto "Seleccione..."), si es verdadero continua el script. Todo eso funciona perfecto pero el problema surje cuando quiero transformar ese combo en una lista, la unica diferencia entre un combo y una lista es la propiedad "size" que se agrega a la lista, hago esto pero me da un error en la ultima linea que ven (la que tiene el @) es como si no hubiera nada seleccionado entonces .selectedIndex da error.

Espero haber sido claro y me gustaria encontrar alguna propiedad que me diga que no hay nada seleccionado en una lista

pd: se solucionaria seleccionando la opcion que tiene @ pero es para otra lista que no va a tener esa opcion
  #2 (permalink)  
Antiguo 25/09/2007, 16:07
Avatar de m4xp0wer  
Fecha de Ingreso: septiembre-2007
Mensajes: 66
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Problema con propiedad SelectedIndex Combo/Lista

Eso puede ser porque en una lista puede que no haya ninguna opción seleccionada. En este caso, el selectedIndex te devuelve -1 (creo recordar), y te dará error al acceder a options[-1]. Eso se puede selecconar fácilmente con un IF a mayores en el que contemples este caso
if (<...>.selectedIndex!=-1 ){
Y creo que así se podría solucionar
  #3 (permalink)  
Antiguo 25/09/2007, 16:53
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Re: Problema con propiedad SelectedIndex Combo/Lista

mmm me habia olvidado por completo de probar con -1 pero no es sigue dando el mismo error
"Error: El objeto no acepta esta propiedad o metodo"
Estimo que se refiere a selectedIndex, no hay documentacion oficil de javascript para saber las propiedasdes y metodos que acepta cada objeto ?
  #4 (permalink)  
Antiguo 25/09/2007, 19:14
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Problema con propiedad SelectedIndex Combo/Lista

Cita:
Iniciado por lisandro Arg Ver Mensaje
... la unica diferencia entre un combo y una lista es la propiedad "size" que se agrega a la lista...
Me parece que no tienes muy claro las etiquetas... un select puede tener definido el atributo size, y sigue siendo un select... las listas se definen con las etiquetas ol/ul, li... o dl, dt, dd...

Tal vez te confundas con un select múltiple... si no lo tienes claro, tal vez sea mejor que pongas más código...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 26/09/2007, 05:08
Avatar de m4xp0wer  
Fecha de Ingreso: septiembre-2007
Mensajes: 66
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Problema con propiedad SelectedIndex Combo/Lista

Puede ser que al tener la etiqueta size, se pueda considerar como múltiple (aunque no tenga la etiqueta multiple). Entonces selectedIndex podría dejar de funcionar y tendrías que hacer un loop por todas las opciones:
if (lista.options[j].selected){
if lista.options[j].value==algo{..}
}
No lo he probado, pero es lo único que se me ocurre
  #6 (permalink)  
Antiguo 26/09/2007, 19:24
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Re: Problema con propiedad SelectedIndex Combo/Lista

Cita:
Iniciado por caricatos Ver Mensaje
Me parece que no tienes muy claro las etiquetas... un select puede tener definido el atributo size, y sigue siendo un select... las listas se definen con las etiquetas ol/ul, li... o dl, dt, dd...

Tal vez te confundas con un select múltiple... si no lo tienes claro, tal vez sea mejor que pongas más código...

Saludos
Bueno eso quise decir, select multiple En visual vasic un select es un combo desplegable y un select multipe es una lista, de ahi el error en la denominacion

---------------

al final junzionó ! je

asi:
(document.getElementById(Fields[i]).selectedIndex < 0)

sin el option y con la "I" (en mayusculas) de Index


Gracias a todos, son lo mas
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:14.