2011-12-01 10 views
7

Sto utilizzando l'API di Google Maps per creare un elenco di quartieri selezionabili e utilizzando Scelto per renderlo bello. Il problema che sto riscontrando è che l'API di Maps non riceve immediatamente i dati, lo fa tramite le funzioni di callback, il che significa che il Prescelto si applica prima che le opzioni vengano aggiunte e, di conseguenza, le opzioni non vengono eseguite attraverso Chosen (il risultato è che non vengono mostrati affatto).Come cambio dinamicamente una casella di selezione Scelto?

Penso che in teoria, dovrebbe funzionare se riesco a ottenere gli elementi nella selezione prima dell'eliminazione, ma non sono sicuro di come farlo esattamente. qualche idea?

+1

Hai avuto uno sguardo alla sezione "Modifica/aggiorna Eventi" nella documentazione? – Simon

risposta

18

Ha provato cosa suggeriscono i documenti?

Aggiornamento Chosen dinamicamente

Se è necessario aggiornare le opzioni nel tuo campo di selezione e si desidera Chosen per rendere effettive le modifiche, è necessario per attivare il "Liszt: aggiornato" evento sul campo. Chosen si ricostruirà da solo sulla base del contenuto aggiornato di .

jQuery Version: $("#form_field").trigger("liszt:updated"); 
Prototype Version: Event.fire($("form_field"), "liszt:updated"); 

Oppure, se si utilizza una versione più recente:

jQuery Version: $("#form_field").trigger("chosen:updated"); 
Prototype Version: Event.fire($("form_field"), "chosen:updated"); 

http://harvesthq.github.com/chosen/

+0

oh mi mancava anche quello nella documentazione ... succede a volte ... :) –

+3

Ora è: $ ("# form_field"). Trigger ("scelto: aggiornato"); –

+0

@DanyMarcoux grazie per il commento, il post è stato aggiornato con il codice aggiornato. –

4

Per scelto la versione 1.0 < poi:

$("#form_field").trigger("liszt:updated"); 

Per scelto versione> = 1.0 poi:

$("#form_field").trigger("chosen:updated"); 
Problemi correlati