У наступному коді я встановив обробник змін у вікні вибору, щоб показати та приховати деякі подальші запитання, виходячи зі значення вибору.
Далі, для деяких значень вибору є додаткове повідомлення, яке відображається.
Для того, щоб перевірити, чи потрібно приховувати зайве повідомлення, я зберігаю змінну під назвою "Попередня". Після виконання обробника я перевіряю, чи попередній недійсний чи розмір - 0.
Було б добре ініціалізувати «Попередній» до порожнього об’єкта JQuery, щоб не довелося робити додаткову перевірку на null.
Виконання $ () повертає об'єкт розміром 1.
Чи є спосіб створити порожній об’єкт Jquery?
// Функція init.
$ (функція () {
// Утримуйте раніше вибраний об'єкт для вибору типу облікового запису.
var попередній = null; // Ось де я хотів би ініціалізувати.
// щось на кшталт Previous = $ ();
$ ("SELECT [name = 'AccountType']") зміни (
function () {
// Сховати попереднє повідомлення, якщо воно було.
if (Previous == null || Previous.size ()> 0) {
Previous.hide ();
}
// Покажіть повідомлення, якщо воно знайдено, і збережіть його як попереднє.
Попередній = $ ("#" + this.value + "_ Msg"). Show ();
// Отримати питання про фірт
var FirstQuestion = $ (". FirstQuestion");
if (this.value === '') {
FirstQuestion.hide ();
} else {
// Вручну покажіть FirstQuestion.
FirstQuestion.show ();
}
});
}
У гіршому випадку я міг би зробити щось подібне:
var Previous = {size: function () {return 0; }};
але це здається непосильним.