2013-02-01 9 views
5

Ho un menu a discesa Paese e stato. Il nostro progettista UI ha usato il plugin jcf che nasconde le vere caselle di selezione e le converte in un controllo che guarda e agisce come un dropdown. Funziona bene quando non devo popolare questa casella di selezione dinamicamente dal lato client.Selezionare (menu a discesa) con il plug-in jcf

Ho un menu a discesa Paese e in base all'elenco selezionato dovrebbe essere compilato il menu a discesa del mio stato. con jcf, ho potuto vedere il vero dropdown (che è posizionato a sinistra a -9999px) è popolato ma solo la prima opzione compare in un controllo che la sostituisce. Qualcuno sa come visualizzare/popolare il controllo modificato.

Grazie,

risposta

8

Edit: Questo sembra ricostruire il select dopo ho cambiato.

$('#myselectbox')[0].jcf.buildDropdown(); // Rebuild based on options 
$('#myselectbox')[0].jcf.refreshState(); // Updates to current selected 

Ho esattamente la stessa domanda e sono in procinto di ottenere la risposta dalla fonte.

Questo "plug-in" di jcf.customForms non sembra avere molta documentazione. Probabilmente hai usato lo stesso servizio (psdtohtml) o un'azienda simile per tagliare il tuo disegno in HTML. Questo sembra essere un javascript personalizzato relativo a quel servizio.

Un sacco può essere trovato guardando la fonte o utilizzando console.debug(jcf.customForms); ma non ho ancora trovato la soluzione. Aggiornerà quando lo capisco.

Ho provato un sacco di cose come

//jcf.customForms.setOptions(states[0]); 
//jcf.customForms.refreshAll(); 
//jcf.customForms.refreshElement(states[0]); 
//states.refreshState(); 

Per quanto riguarda la risposta precedente, sembrare strano dover initTabs(); quando si desidera solo per ricaricare un prescelto.

+0

Ha funzionato anche per me! destroyAll() insieme a refreshAll() ha funzionato anche per me. (jcf.customForms.destroyAll(); jcf.customForms.replaceAll();) –

+0

Sono contento. Stavo morendo dalla voglia di capire questo schema. Preferisco semplicemente selezionare direttamente l'elemento (document.getElementById ('myselectbox'). Jcf), ma conoscere questo è un salvataggi. –

+0

Ha funzionato anche per me grazie per Daniel ha fatto distruggere Tutto e sostituire Non tutti gli elementi svaniscono sull'iPad? – joesk

1

è necessario definire le seguenti funzioni ancora una volta quando si popolano lo stato:

jcf.customForms.replaceAll(); 
initSlideShow(); 
initInputs(); 
initSameHeight(); 
initTabs(); 
fixSelect();initCounter(); 
initOpenClose(); 
+0

Grazie ad entrambi. – user1760153

0

Solo una linea funziona per me. e la sua soluzione generica.

$(document).ajaxComplete(function() { 
    jcf.customForms.replaceAll(); 
}); 

Saluti !!!

1

Questo è il codice che ha funzionato per me. Il codice impostato un valore select campi e poi refresh e modificare il valore utilizzando jcf, select campi saranno selezionati con l'opzione che hanno un valore 42

jQuery("#select-element").val("42"); 

jcf.getInstance(jQuery("#select-element")).refresh() 
Problemi correlati