Comunidad de diseño web y desarrollo en internet online

data[0] (primer campo) de ComboBox no funka a la primera

Citar            
MensajeEscrito el 30 Ene 2006 07:18 pm
que tal
bueno he creado un comboBox que me sirva para llegar a ciertas URLs, es un Combo linkeador, arrastre el componente al escenario, le asigno el nombre de instancia : "combo" y le agrego este codigo en el primer frame:

Código :

//lleno el comboBox
combo.addItem("Cristalab", "http://www.cristalab.com");
combo.addItem("Google", "http://www.google.cl");
combo.addItem("Wikipedia", "http://es.wikipedia.org");

// Creo un listener como nuevo objeto
var listener:Object = new Object();
// creo una función al listener que llame las URLs
listener.change = function(evento) {
    getURL(evento.target.selectedItem.data, "_blank");
}

// agrego el listener.
combo.addEventListener("change", listener);


el drama es que el primer data o sea Cristalab, no linkea la URL a la primera, sino despues de haber clikado en los demas campos

:? alguien me puede ayudar plis
gracias

Por Soundwave

Claber

1728 de clabLevel

5 tutoriales

 

Los Andes CHILE

firefox
Citar            
MensajeEscrito el 30 Ene 2006 07:54 pm
Si lo hace bien, el problema es que al estar seleccionado ese primer item y quieres ejecutar el evento change, este no se produce ya que no se cambia a ningún otro item....

por ejemplo: selecciona el 2 y se te va a abrir el navegador, pero si vuelves a seleccionar el 2, no se va a lanzar nada, entiendes????

Por Altrix

156 de clabLevel



 

Cuba, Ciudad de la Habana

firefox
Citar            
MensajeEscrito el 30 Ene 2006 07:59 pm
ahhh ok....gracias
pero no tienes conocimiento de alguna forma de arreglar este problema?
gracias

Por Soundwave

Claber

1728 de clabLevel

5 tutoriales

 

Los Andes CHILE

firefox
Citar            
MensajeEscrito el 30 Ene 2006 08:08 pm

soundwave escribió:

ahhh ok....gracias
pero no tienes conocimiento de alguna forma de arreglar este problema?
gracias


El problema esque no hay problema, el evento change, solo se ejecuta cuando se cambia la seleccion, te recomiendo que mejor uses un boton en vez de el evento change para este caso en espesifico.

Saludos!!.

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 30 Ene 2006 08:14 pm
cambia change por close ;)

saludos ^^

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 30 Ene 2006 08:17 pm
Es que en realidad no es un problema, pero una solución puede ser poner un botón y al hacer click ir a la página....digo yo, a lo mejor no lo quieres hacer así....pero te vuelvo a repetir que no es un error.....:wink:

Por Altrix

156 de clabLevel



 

Cuba, Ciudad de la Habana

firefox
Citar            
MensajeEscrito el 30 Ene 2006 08:23 pm
El problema de cambiarlo por close, es que se te va a ejecutar aunque no hayas seleccionado ningún item nuevo.

Por Altrix

156 de clabLevel



 

Cuba, Ciudad de la Habana

firefox
Citar            
MensajeEscrito el 30 Ene 2006 08:26 pm
gracias Maikel ;) te pasaste maestro
saludos

Código :

//lleno el comboBox
combo.addItem("Cristalab", "http://www.cristalab.com");
combo.addItem("Google", "http://www.google.cl");
combo.addItem("Wikipedia", "http://es.wikipedia.org");

// Creo un listener como nuevo objeto
var listener:Object = new Object();
// creo una función al listener que llame las URLs
listener.close = function(evento) {
    getURL(evento.target.selectedItem.data, "_blank");
}

// agrego el listener.
combo.addEventListener("close", listener);


tambien lo logre asi, colocando tambien en el primer frame, eso si dandole los data a cada campo por el panel Parametros:

Código :

function change(evento){
    //trace(evt.target.selectedItem.label);
   if (evento.target.selectedItem.label == "Cristalab"){
      getURL(combo.data[0],"_blank");
      }
   if (evento.target.selectedItem.label == "Google"){
      getURL(combo.data[1],"_blank");
      }
   if (evento.target.selectedItem.label == "Wikipedia"){
      getURL("http://www.yahoo.com","_blank");
      }
}
combo.addEventListener("change", this);

Por Soundwave

Claber

1728 de clabLevel

5 tutoriales

 

Los Andes CHILE

firefox
Citar            
MensajeEscrito el 30 Ene 2006 08:55 pm
Mira no se para que lo necesites, pero no te recomiendo usar close, puesto qeu cada vez que lo cierres te abrira una ventana, y muchas veces abrimos el comboBox para ver que hay, porque lo abrimos sin querer, etc, y puede qeu no sea agradable.

Saludos!!

Por Cep

BOFH

1509 de clabLevel

9 tutoriales

1 ejemplo

Genero:Masculino   REC Bastard Operators From Hell

Web Developer

firefox
Citar            
MensajeEscrito el 30 Ene 2006 09:03 pm
exactamente esssso, mucho mejor explicado...

Por Altrix

156 de clabLevel



 

Cuba, Ciudad de la Habana

firefox
Citar            
MensajeEscrito el 30 Ene 2006 09:31 pm

Cep escribió:

Mira no se para que lo necesites, pero no te recomiendo usar close, puesto qeu cada vez que lo cierres te abrira una ventana, y muchas veces abrimos el comboBox para ver que hay, porque lo abrimos sin querer, etc, y puede qeu no sea agradable.

Saludos!!


mucha razon ...gracias ;)

Por Soundwave

Claber

1728 de clabLevel

5 tutoriales

 

Los Andes CHILE

firefox
Citar            
MensajeEscrito el 31 Ene 2006 12:08 am
cierto, no me fije ese detalle, no ando muy bien ahorita.... bueno presentaste dos soluciones me imagino que la que habias hecho por tu cuenta funciona y no tiene ese problema... asi que aplicalo :P



PD: rayos debo descansar, la universidad me tiene loco... :crap:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 31 Ene 2006 02:46 am

soundwave escribió:

que tal
bueno he creado un comboBox que me sirva para llegar a ciertas URLs, es un Combo linkeador, arrastre el componente al escenario, le asigno el nombre de instancia : "combo" y le agrego este codigo en el primer frame:

Código :

//lleno el comboBox
combo.addItem("Cristalab", "http://www.cristalab.com");
combo.addItem("Google", "http://www.google.cl");
combo.addItem("Wikipedia", "http://es.wikipedia.org");

// Creo un listener como nuevo objeto
var listener:Object = new Object();
// creo una función al listener que llame las URLs
listener.change = function(evento) {
    getURL(evento.target.selectedItem.data, "_blank");
}

// agrego el listener.
combo.addEventListener("change", listener);


el drama es que el primer data o sea Cristalab, no linkea la URL a la primera, sino despues de haber clikado en los demas campos

:? alguien me puede ayudar plis
gracias

Que onda:
Si no quieres usar close, pon un campo que no mande a ningun lado:

Código :

//lleno el comboBox
combo.addItem("Selecciona tu Web Favorita", "");
combo.addItem("Cristalab", "http://www.cristalab.com");
combo.addItem("Google", "http://www.google.cl");
combo.addItem("Wikipedia", "http://es.wikipedia.org");

// Creo un listener como nuevo objeto
var listener:Object = new Object();
// creo una función al listener que llame las URLs
listener.change = function(evento) {
    if(evento.target.selectedItem.data!=""){
         getURL(evento.target.selectedItem.data, "_blank");
    }
}

// agrego el listener.
combo.addEventListener("change", listener);

Por master_of_puppetz

Claber

2483 de clabLevel

7 tutoriales
3 articulos

Genero:Masculino   Premio_Secretos

WebDev (Flex + PHP + JS)

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.