Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    44

    aspettare che le option di una select siano caricate

    Buongiorno ho il seguente problema:

    creo la seguente select mediante codice html :

    codice:
     <div class="input-container"> 
         <select id="my_places" data-required="true">
               <option value="" disabled selected>Luogo evento</option>	       
         </select>
    </div>
    come option della select devono apparire i luoghi dell'utente che acquisisco da database da chiamata ajax (la chiamata ajax è neccessaria perchè dalla stessa pagina possono venire aggiornati i luoghi quindi non posso creare il contenuto della select mediante php)

    codice:
    $(document).on("click","#my_places", function(){
    	 
        	$.ajax({
            	url: "core/dynamic_call/check_places",
                type: "POST",
                dataType: "json",
                cache: false,
                timeout: 15000,
    		}).done( function(data){
    			console.log(data)
    			for(x=0;x<data.places.length;x++){
    				$('#my_places').append($("<option></option>").attr("value",data.places[x]['id']).text(data.places[x]['address']));                    
    			}
    		});   		
    });
    Il problema sta nel fatto che la prima volta che clicco sulla select mi vengono caricati solo parte dei risultati provenienti dalla chiamata ajax (in sostanza mi apre la tendina della select prima che ajax finisca di caricare i luoghi dell'utente), se chiudo la select e la riapro questa volta ci sono tutti i luoghi. come faccio a dire di aspettare di aprire la select fino a quando tutti luoghi dell'utente sono stati caricati?
    grazie mille in anticipo

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, a mio parere, nel momento in cui l'utente fa click per aprire la select, è già troppo tardi per popolarla.
    Sarebbe meglio far caricare le option preventivamente.

    la chiamata ajax è neccessaria perchè dalla stessa pagina possono venire aggiornati i luoghi
    In che modo questi loghi possono essere aggiornati?
    Non puoi lanciare la chiamata AJAX dopo che avviene questo particolare evento di "aggiornamento dei loghi"?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    44
    Bravo killer, grazie per la dritta.
    semplicemnte la pagina che fa visualizzare i luoghi e la stessa dove vengono creati.aggiornando la select quando viene creato il nuovo luogo funge tutto alla perfezione

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.