Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    ComboBox e ChangeHandler

    Ho impostato (dal pannellino delle proprietà dei componenti) un handler per un combobox

    Questo handler non fa altro che chiamare un'altra funzione passandogli come parametro il valore selezionato nella combo.

    Il problema è che dopo aver selezionato un oggetto dalla combo questa mi resta aperta ... mentre in realtà si dovrebbe chiudere visualizzandomi l'oggetto selezionato.

    In oltre quando clikko fuori dalla combo, dopo aver selezionato un oggetto, mi resta la combo grigia ... come se l'oggetto continuasse a venire selezionato.

    ... ovviamente se non imposto l'handler tutto questo non succede.

    Come mai? come evito questo inutile e noioso problemino grafico?

  2. #2
    Ma cosa fa la funzione che richiami? Io ho provato a simulare il tuo problema e mi funziona perfettamente. La combobox l'ho chiamata myBox e al suo interno ci sono diversi valori. Inoltre la funzione che utilizzo come ChangeHandler è test:

    codice:
    function test(){
    	show(myBox.getSelectedItem().label);
    }
    
    function show(item){
    	trace(item);	
    }
    ogni volta che seleziono un elemento mi viene scritto nell'output.

  3. #3
    la funzione che richiamo fa parte di una classe e cambia il font del testo selezionato in una textbox (la combo contiene appunto una serie di fonts) ... credo non ci sia nulla che interferisca


    l'unica cosa che potrebbe essere è che alla fine della funzione reimposto il focus sulla casella di testo e reimposto la vecchia selezione con:
    codice:
    Selection.setFocus(this._t);
    		Selection.setSelection(this.BegSel, this.EndSel);
    ma non penso che questo mi "blocchi" la combo ... bho ... non ho idea del perche mi faccia sto lavoro

  4. #4
    Sì, il problema allora è proprio quello. L'unica soluzione che mi viene in mente così alla veloce è utilizzare setInterval per dare tempo alla combobox di chiudersi prima di spostare la selezione su un altro oggetto:

    codice:
    function test(){
    	intervalID = setInterval(show,100,myBox.getSelectedItem().label);
    }
    
    function show(item){
    	clearInterval(intervalID);
    	Selection.setFocus(myText);
    	Selection.setSelection(0, 3);
            trace(item);
    }
    Logicamente questo esempio fa riferimento a quello che ti ho fatto in precedenza.

  5. #5
    hummm ... cax, non pensavo che facesse tutto sto casino :tongue:

    vabe grazie mille, ora me lo adatto alla mia classe :metallica

  6. #6

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.