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