В следующем коде я настраиваю обработчик изменений в поле выбора, чтобы отображать и скрывать некоторые последующие вопросы в зависимости от значения выбора.
Кроме того, для некоторых значений выбора отображается дополнительное сообщение.
Чтобы проверить, нужно ли мне скрыть лишнее сообщение, я сохраняю переменную с именем 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; }};
но это кажется излишним.
Источник: api.jquery.com
источник
Мой совет - не делайте этого так. Есть много более простых способов сделать это. Рассматривать:
Намного проще. В основном давайте классы, чтобы указать, что показывать и скрывать, и тогда не требуется отслеживания. Альтернатива:
источник
попробуй это
Я не очень хороший программист, но он дает пустой объект :))
источник