En el siguiente código configuré un controlador de cambios en un cuadro de selección para mostrar y ocultar algunas preguntas de seguimiento basadas en el valor de la selección.
Además, para algunos valores de la selección, se muestra un mensaje adicional.
Para verificar si necesito ocultar el mensaje adicional, mantengo una variable llamada Anterior. Tras la ejecución del controlador, verifico si Previous es nulo o si el tamaño es 0.
Sería bueno inicializar Previous en un objeto JQuery vacío para no tener que hacer la verificación adicional de nulo.
Hacer un $ () devuelve un objeto con el tamaño de 1.
¿Hay alguna forma de crear un objeto Jquery vacío?
// Función de inicio. $ (función () { // Mantenga el objeto seleccionado previamente para la selección del tipo de cuenta. var Anterior = nulo; // Aquí es donde me gustaría inicializar. // algo como Anterior = $ (); $ ("SELECT [name = 'AccountType']"). Change ( function () { // Ocultar el mensaje anterior si había uno. if (Anterior == nulo || Anterior.size ()> 0) { Previous.hide (); } // Muestra el mensaje si lo encuentra y guárdalo como anterior. Anterior = $ ("#" + este.valor + "_ Msj"). Show (); // Obtener la primera pregunta var FirstQuestion = $ (". FirstQuestion"); si (este.valor === '') { FirstQuestion.hide (); }más{ // Muestra manualmente FirstQuestion. FirstQuestion.show (); } }); }
En el peor de los casos, podría hacer algo como esto:
var Anterior = {tamaño: función () {retorno 0; }};
pero eso parece una exageración.
Fuente: api.jquery.com
fuente
Mi consejo es que no lo hagas de esa manera. Hay formas mucho más sencillas de hacer esto. Considerar:
Mucho más fácil. Básicamente, da clases para indicar qué mostrar y ocultar y luego no se requiere seguimiento. Una alternativa es:
fuente
prueba esto
No soy un buen programador pero te da un objeto vacío :))
fuente