Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443

    jQuery controllo esecuzione eventi

    Ho 4 dependant select che vengono generate dinamicamente con jQuery getJSON

    Apro il form e seleziono con jQuery le opzioni dei valori che l'utente ha salvato.

    Come posso controllare LA COMPLETA ESECUZIONE della funzione change() (che utilizzo per selezionare i valori) prima di eseguire la sucessiva funzione change() ??

    Ho provato 2 varianti ....
    Entrambe funzionano se il server è veloce, mentre se il server è molto impegnato non tutte le opzioni vengono selezionate .... :-(



    codice:
    jQuery(document).ready(function() {
    
    /* 
    var id_aereoporto_arrivo = function(){
    	setTimeout(function(){$("#id_aereoporto_arrivo").val(2).change();}, 300);
    	return true;
    };
    
    var id_destinazione_andata = function(){
    	setTimeout(function(){$("#id_destinazione_andata").val(28).change();}, 600);
    	return true;
    };
    
    var id_fermata_andata = function(){
    	setTimeout(function(){$("#id_fermata_andata").val(260).change();}, 900);
    	return true;
    };
    
    var id_giorno_andata = function(){
    	setTimeout(function(){$("#id_giorno_andata").val(47).change();}, 1200);
    	return true;
    };
    
    if(id_aereoporto_arrivo()){
    	id_destinazione_andata();
    }
    if(id_destinazione_andata()){
    	id_fermata_andata();
    }
    if(id_fermata_andata()){
    	id_giorno_andata();
    }
    
    */
    	setTimeout(function(){$("#id_aereoporto_arrivo").val(2).change();}, 500);
    	setTimeout(function(){$("#id_destinazione_andata").val(28).change();}, 1000);
    	setTimeout(function(){$("#id_fermata_andata").val(260).change();}, 1500);
    	setTimeout(function(){$("#id_giorno_andata").val(47).change();}, 2000);
    
    });
    Grazie per un consiglio

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,135
    Usando il callback dell'evento onchange vedi api.jquery.com
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Grazie,

    ho provato nella seguente maniera ..

    codice:
    setTimeout(function(){$("#id_aereoporto_arrivo").val(4).change();}, 500),function(){
    	setTimeout(function(){$("#id_destinazione_andata").val(14).change();}, 1000),function(){
    		setTimeout(function(){$("#id_fermata_andata").val(347).change();}, 1500),function(){
    			setTimeout(function(){$("#id_giorno_andata").val(37).change();}, 2000);
    		}
    	}
    }
    ... non mi dà nessun errore ed esegue solo la prima funzione ... :-(

    dove sbaglio ?

    Potresti inviarmi un piccolo esempio ? :-)

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,135
    Non vedo nessun callback (e a dirla tutta ho forti dubbi che tu abbia letto le api) visto che insisti col setTimeout che ha i problemi da te evidenziati, gli onchange (credo) debbano essere eseguiti a cascata.
    Anche volendo (ma non è il mio stile) non capendo cosa devi fare mi diventa difficile fare esempi, e comunque adesso ho poco tempo.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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 © 2026 vBulletin Solutions, Inc. All rights reserved.