come aggiornare i dati nel dropdown select2 usando ajax

Ho un dropdown select2 per i dati location.select2 inizializzati al caricamento della pagina. Voglio aggiornare i dati a intervalli regolari usando ajax.Ma quando aggiorno i dati di select2 il dropdown select2 diventa di sola lettura

jQuery("#e10_2").select2({ allowClear: true, minimumInputLength: 1, data:{ results: locationls, text: function(item) { return item.text; }}, formatSelection: format, formatResult: format }); 

Non capisco davvero la tua domanda e penso che abbia bisogno di chiarimenti – ma per quanto ho potuto capire (ho trovato questo problema e ho trovato la tua domanda quando lo hai provato …)

Quando carico la pagina, eseguo il seguente JavaScript in modo che tutte le mie caselle di selezione a discesa siano in stile e utilizzino select2:

 $('select').select2(); 

Ma come afferma il tuo titolo, il mio codice qui sotto funziona aggiornando il /store/ajax_get_zones a discesa a un nuovo set di dati: la mia funzione /store/ajax_get_zones restituisce HTML per le opzioni:

 $(function() { $('#country').on('change', function() { $.post("/store/ajax_get_zones", { country_id: $('#country').val() }, function(e) { if (e) $("#state").html(e).select2(); }) }); }); 

Tutto quello che devi fare è chiamare .select2() sull’elemento dopo aver aggiornato i dati.

Colpi sullo schermo

Inizia con gli Stati Uniti predefiniti:

Inizio / Default Stati Uniti

Quindi, quando cambi il paese, cambia anche il menu a discesa dello stato (ajax ha aggiornato l’HTML interno della selezione originale mentre era ancora a tema per selezionare2

La modifica del paese comporta la modifica del menu a discesa Stato