Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Action selettiva?!?

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    229
    Mi accodo a questo post perchè ho lo stesso problema:
    Se vengono creati ad esempio 4 elementi sul combobox e io volessi scatenare un evento (come un'apertura di una pagine web) al click di uno degli item del combobox questo si verifica solo se clicco su tutti gli elementi tranne il primo.
    Il motivo credo perchè nel codice che scrivo genero un "eventListener " con l'evento "change" che giustamente si attiva se cambio item del combobox e non se vado a cliccare proprio il primo della lista.
    Ho cercato sulla documentazione ma ci sono solo quest eventi

    ComboBox.change
    Trasmesso quando il valore della casella combinata cambia in seguito all'intervento dell'utente.

    ComboBox.close
    Trasmesso quando l'elenco della casella combinata inizia a chiudersi.

    ComboBox.enter
    Trasmesso quando viene premuto il tasto Invio.

    ComboBox.itemRollOut
    Trasmesso quando il puntatore esce dalla voce dell'elenco a comparsa.

    ComboBox.itemRollOver
    Trasmesso quando si passa il puntatore su una voce dell'elenco a discesa.

    ComboBox.open
    Trasmesso quando inizia l'apertura dell'elenco a discesa.

    ComboBox.scroll
    Trasmesso quando si scorre l'elenco a discesa.

    Qualcuno sa come ovviare al problema magari inizializzando il selectIndex del Combo a -1 per far scatenare l'evento "change" o ulteriori soluzioni?

    Grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ho separato la discussione perchè era vecchia di due anni
    riporto qui il link se dovessero esserci dei riferimenti utili, anche se a vista non mi pare: http://forum.html.it/forum/showthrea...7#post10109057

    Il combo ha un determinato comportamento perchè gestisce delle situazioni ben precise, il problema del primo click è stato comunque aggiustato nei nuovi componenti presenti in Flash CS3 e gestiti con Actionscript 3. E' stata infatti aggiunta una proprietà "prompt" che determina lo stato "0" non utilizzabile nel combo e visualizzato come prima voce quando il combo è chiuso, che di conseguenza chiede all'utente che venga effettuata una prima scelta sulle voci (come per i combo html in cui si scrive "Selezionare..." ecc...).

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    229
    Grazie mille per le info.
    Non avendo il CS3 dovrò adeguarmi....
    Se trovo qualche "workaround" lo posto sul forum


  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    beh, un workaround può essere quello di usare un valore forfettario come primo valore e attivare una sola volta l'evento "open" per eliminarlo, così l'utente deve usare per forza il change la prima volta, e le volte successive non ci sarà il primo valore forfettario

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ho provato così e funziona, con un solo inconveniente:

    Codice PHP:
    // bisogna mettere un combobox in libreria
    import mx.controls.ComboBox;
    var 
    c:ComboBox this.createClassObject(ComboBox"c"1);
    c.dataProvider = ["Select...""primo""secondo""terzo"];
    var 
    o:Object = {};
    o.change = function (evt:Object) {
        
    trace(evt.target.selectedItem);
        
    evt.target.removeItemAt(0);
        
    this.change = function (evt:Object) {
            
    trace(evt.target.selectedItem);    
        }
    }
    c.addEventListener("change"o); 
    L'inconveniente è che alla prima apertura, tra gli items ci sarà anche il "Select...", che però se selezionato non sortirà effetto, se non quello di richiudere il combo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.