В следующем коде я установил обработчик изменений в поле выбора, чтобы показать и скрыть некоторые последующие вопросы в зависимости от значения выбора.
Далее, для некоторых значений выбора отображается дополнительное сообщение.
Чтобы проверить, нужно ли мне скрывать дополнительное сообщение, я сохраняю переменную с именем Previous. После выполнения обработчика я проверяю, имеет ли значение Previous значение null или его размер равен 0.
Было бы неплохо инициализировать Previous пустым объектом JQuery, чтобы не выполнять дополнительную проверку на null.
Выполнение $ () возвращает объект размером 1.
Есть ли способ создать пустой объект Jquery?
//Init function.
$(function(){
//Hold the previously selected object for the account type selection.
var Previous = null; //Here is where I would like to initialize.
//something like Previous = $();
$("SELECT[name='AccountType']").change(
function () {
//Hide Previous message if there was one.
if(Previous == null || Previous.size() > 0){
Previous.hide();
}
//Show the message if found and save it as previous.
Previous = $("#"+this.value+"_Msg").show();
//Get fisrt question
var FirstQuestion = $(".FirstQuestion");
if(this.value === ''){
FirstQuestion.hide();
}else{
//Manually show FirstQuestion.
FirstQuestion.show();
}
});
}
В худшем случае я мог бы сделать что-то вроде этого:
var Previous = { size : function () { return 0; } };
но это кажется излишним.