No código a seguir, configurei um manipulador de alterações em uma caixa de seleção para mostrar e ocultar algumas perguntas de acompanhamento com base no valor da seleção.
Além disso, para alguns valores da seleção, é exibida uma mensagem extra.
Para verificar se preciso ocultar a mensagem extra, mantenho uma variável chamada Anterior. Na execução do manipulador, verifico se Previous é nulo ou se o tamanho é 0.
Seria bom inicializar o Previous para um objeto JQuery vazio para não precisar fazer a verificação extra para nulo.
Fazer um $ () retorna um objeto com o tamanho de 1.
Existe uma maneira de criar um objeto Jquery vazio?
// Função inicial.
$ (function () {
// Segure o objeto selecionado anteriormente para a seleção do tipo de conta.
var Anterior = nulo; // Aqui é onde eu gostaria de inicializar.
// algo como Previous = $ ();
$ ("SELECT [name = 'AccountType']"). Change (
function () {
// Ocultar mensagem anterior se houver uma.
if (Previous == null || Previous.size ()> 0) {
Previous.hide ();
}
// Mostra a mensagem se encontrada e salve-a como anterior.
Anterior = $ ("#" + this.value + "_ Msg"). Show ();
// Obter a primeira pergunta
var FirstQuestion = $ (". FirstQuestion");
if (this.value === '') {
FirstQuestion.hide ();
}outro{
// Mostra manualmente a FirstQuestion.
FirstQuestion.show ();
}
});
}
No pior dos casos, eu poderia fazer algo assim:
var Anterior = {size: function () {return 0; }};
mas isso parece exagero.