Nel codice seguente ho impostato un gestore delle modifiche su una casella di selezione per mostrare e nascondere alcune domande di follow-up in base al valore della selezione.
Inoltre, per alcuni valori della selezione è visualizzato un messaggio aggiuntivo.
Per controllare se devo nascondere il messaggio in più, mantengo una variabile chiamata Precedente. All'esecuzione del gestore controllo se Previous è nullo o se la dimensione è 0.
Sarebbe bello inizializzare Previous su un oggetto JQuery vuoto in modo da non dover fare il controllo aggiuntivo per null.
L'esecuzione di $ () restituisce un oggetto con la dimensione di 1.
C'è un modo per creare un oggetto Jquery vuoto?
// Funzione Init.
$ (Function () {
// Tenere l'oggetto selezionato in precedenza per la selezione del tipo di account.
var Precedente = null; // Qui è dove vorrei inizializzare.
// qualcosa di simile a Precedente = $ ();
$ ( "SELECT [name = 'AccountType']"). Cambio (
funzione () {
// Nascondi il messaggio precedente se ce n'era uno.
if (Precedente == null || Previous.size ()> 0) {
Previous.hide ();
}
// Mostra il messaggio se trovato e salvalo come precedente.
Precedente = $ ("#" + this.value + "_ Msg"). Show ();
// Ottieni la prima domanda
var FirstQuestion = $ (". FirstQuestion");
if (this.value === '') {
FirstQuestion.hide ();
}altro{
// Mostra manualmente FirstQuestion.
FirstQuestion.show ();
}
});
}
Nel peggiore dei casi potrei fare qualcosa del genere:
var Precedente = {size: function () {return 0; }};
ma sembra eccessivo.