• User Newbie

    [Risolto] disabilita e riabilita componente

    Ciao!
    Sono nuovo nuovo ... e anche un po neofila di flash ... 🙂
    avrei un quesito da sottoporvi che mi sta :arrabbiato: e che sicuramente voi sapete risolvere visto che è una cavolata (per chi sa usare flash :D)

    provo a spiegarmi

    Io ho 2 componenti un NumericStepper e una ComboBox

    nella combobox c'è un elenco di nomi...

    all'apertura della pagina in teoria il numericstepper dovrebbe essere non editabile

    diventa editabile quando selesiono alcune delle voci della combo box

    riesco a renderlo non editabile facendo

    root.quatel_cmb.enabled = false;

    ma non riesco proprio a ri renderlo editabile selezionado una delle relative voci ...

    come posso fare?

    Grazie mille per tutto l'aiuto che riuscite a darmi!!!!:):):)

    ZiAo
    Momo


  • Super User

    Ciao momo.zimo e benvenuto nel forum GT 🙂

    Se gli dici root.quatel_cmb.enabled = true; ?


  • User Newbie

    @Flep said:

    Ciao momo.zimo e benvenuto nel forum GT 🙂

    Se gli dici root.quatel_cmb.enabled = true; ?

    ok, ma il problema è che devo renderlo operativo solo se viene selezionate alcune voci del combo box...

    ho provato con
    _root.quatel_cmb.enabled = false;
    contetel = 0;
    if ((_root.torta_cmb.value == "cioccolato") || (_root.torta_cmb.value == "zucchero") || (_root.torta_cmb.value == "farina") || (_root.torta_cmb.value == "mele") || (_root.torta_cmb.value == "cannella") || (_root.torta_cmb.value == "lievito")) {
    _root.quatel_cmb.enabled = true;
    }

    ma non funziona

    grazie mille! 🙂


  • Super User

    Dovresti dirglielo nella funzione chiamata dall' evento del combobox quando un suo elemento viene selezionato.


  • User Newbie

    e ... scusa l'ignoranza ... 😞
    come si fa?


  • Super User

    Scusa ma, come stai usando il ComboBox ?


  • User Newbie

    ti spiego

    In questo momento il combo box viene solo utilizzato all'interno di una tasto e viene adoperato per moltiplicare un determinato valore per 1.5, però a me serve che la funzione che dicevo prima avvenisse al di fuori del tasto, il problema che non trovo una funzione per dire " se seleziono il valore zucchero il componente numericstepper rimanga inibito, se scelgo la voce lievito diventa editabile ...

    grazie mille!


  • Super User

    Per intercettare quando un utente seleziona una voce del ComboBox:

    var listenerObject:Object = new Object();
    listenerObject.change = function(eventObject:Object)
    {
    	trace(eventObject.target.selectedItem.label);
        // Quì fai i controlli che stai facendo sul numericStepper
    };
    nomeComboBox.addEventListener("change", listenerObject)
    

  • User Newbie

    Se non ho capito male, indenti cosi ... ma, si disattiva il tasto ma nel momento che vado a selezionare una delle voci presente nell'if non si attiva 😢

     
    _root.quatel_cmb.enabled = false;
    contetel = 0;
    var listenerObject:Object = new Object();
    listenerObject.change = function(eventObject:Object) {
    trace(eventObject.target.selectedItem.label);
    if ((_root.segmento_cmb.value == "cioccolato") || (_root.segmento_cmb.value == "zucchero") || (_root.segmento_cmb.value == "farina") || (_root.segmento_cmb.value == "mele") || (_root.segmento_cmb.value == "cannella") || (_root.segmento_cmb.value == "lievito")) {
    _root.quatel_cmb.enabled = true;
    }
    };
    
    

    Grazie mille per la pazienza che hai e per l'aiuto 🙂


  • Super User

    _root.segmento_cmb è il ComboBox ?
    Se sì:

    _root.quatel_cmb.enabled = false;
    contetel = 0;
    var listenerObject:Object = new Object();
    listenerObject.change = function(eventObject:Object)
    {
        if ((eventObject.target.selectedItem.value == "cioccolato") || (eventObject.target.selectedItem.value == "zucchero") || (eventObject.target.selectedItem.value == "farina") || (eventObject.target.selectedItem.value == "mele") || (eventObject.target.selectedItem.value == "cannella") || (eventObject.target.selectedItem.value == "lievito")) {
    _root.quatel_cmb.enabled = true;
    };
    _root.segmento_cmb.addEventListener("change", listenerObject)
    

    Inoltre non capisco, gli hai assegnato tu value ad ogni voce del ComboBox ?


  • User Newbie

    _root.segmento_cmb si è il nome della combo ... l'ho modificato rispetto a prima, prima era torta ... sorry

    Inoltre non capisco, gli hai assegnato tu value ad ogni voce del ComboBox ?

    Si l'ho inserito io ... non sapevo cosa mettere...

     
    _root.quatel_cmb.enabled = false;
    contetel = 0;
    var listenerObject:Object = new Object();
    listenerObject.change = function(eventObject:Object)
    {
        if ((eventObject.target.selectedItem.value == "cioccolato") || (eventObject.target.selectedItem.value == "zucchero") || (eventObject.target.selectedItem.value == "farina") || (eventObject.target.selectedItem.value == "mele") || (eventObject.target.selectedItem.value == "cannella") || (eventObject.target.selectedItem.value == "lievito")) {
    _root.quatel_cmb.enabled = true;
    };
    _root.segmento_cmb.addEventListener("change", listenerObject)
    
    

    Ho provato... non funziona 😢


  • Super User

    Togli per un momento il controllo che fai e mettici:
    trace(eventObject.target.selectedItem.value);

    Clicca una voce del ComboBox e dimmi cosa ti dice Flash come output 🙂


  • User Newbie

    @Flep said:

    Togli per un momento il controllo che fai e mettici:
    trace(eventObject.target.selectedItem.value);

    Clicca una voce del ComboBox e dimmi cosa ti dice Flash come output 🙂

    undefined


  • Super User

    Ecco l' errore.
    Adesso allora devi farmi vedere come hai assegnato value ad ogni voce del ComboBox.


  • User Newbie

    non so se ho capito bene cosa mi hai chiesto...
    intendi dentro l'if?

    prima mettevo
    _root.segmento_cmb.value == "cioccolato"

    poi ho messo

    eventObject.target.selectedItem.value == "cioccolato"

    veramente grazie di tutto!


  • Super User

    No, non mi hai capito.

    Quando crei un ComboBox e lo popoli, per risalire al valore di una sua voce, devi assegnare quel valore ad ogni sua voce appunto.

    Cioè, se tu dici _root.segmento_cmb.value == "cioccolato", Flash come fa a sapere che quella voce ha valore "cioccolato" se prima non gli e lo hai assegnato ?

    Come lo popoli il ComboBox, da codice o dal suo pannello dei parametri ?


  • User Newbie

    ahhh ok ... 😄

    sono andato nelle proprietà della combobox e ho inserito i nome nel labels e della data

    es:

    labels
    posizione valore
    0 seleziona
    1 cioccolato
    2 zucchero
    ecc ecc

    in data
    posizione valore
    0 seleziona
    1 cioccolato
    2 zucchero
    ecc ecc

    poi gli altri valori sono
    editable false
    rowCound 5

    non ho messo nient'altro ...
    🙂


  • Super User

    allora adesso prova a rifare il trace che hai fatto prima ma invece di usare.value usa .label


  • User Newbie

    GRANDE!!!!!
    ora funziona!!!

    ho modificato eventObject.target.selectedItem.value == "cioccolato" in eventObject.target.selectedItem.label == "cioccolato" e funziona tutto correttamente !!!

    grazie veramente grazie!!!!