2013-05-12 6 views
0

Я пробовал каждую перестановку проверки работы этой логики, и я не могу найти правильный синтаксис.Javascript Проверка пустой datepicker

я следующий кусок Javascript:

var d = $("#myDatepicker1").datepicker("getDate"); 
if ($.isEmptyObject(d)) { 
    $("#dailySummaryDateSelector").datepicker("setDate", new Date()); 
} 

При загрузке страницы и d оценивается Firebug показывает, как Object [ ]

В if заявлении я попытался:

if (d == null) { 
if (d == {}) { 
if (d == Object()) { 
if ($.isEmptyObject(d)) { 
if (d.isEmptyObject()) { 

Ничего из этого не работает. Насколько я могу сказать, Object [ ] - пустой объект, так как я на самом деле проверяю это и получаю содержимое инструкции if?

+1

Странно. '(d == null)' должен работать. Вы понимаете, что вы вызываете два идентификатора ('$ (" # myDatepicker1 ")' и '$ (" # dailySummaryDateSelector ")), правильно? – acdcjunior

+0

Хорошо заметили !! Не могу поверить, что я пропустил это! (d == null) действительно работает сейчас! – Jammer

+0

Datepicker инициализируется текущей датой в качестве стартовой, поэтому он должен нормально не возвращать нуль, если только вы явно не установили, что он не выбрал дату. Если проблема пытается получить дату от объекта, который не существует, потому что вы не проверяли свои селекторы, @acdcjunior должен добавить это как ответ, и вы должны принять его, так как он хорошо замечен. – adeneo

ответ

4

GetDate()

Returns: Дата

Возвращает текущую дату DatePicker или нулевое значение, если не выбран ни дата. Этот метод не принимает никаких аргументов.

if($("#myDatepicker1").datepicker("getDate") === null) { 
    alert("empty"); 
} 
+0

Пустой (jQuery) объект! == null – JJJ

+0

@Juhana нет, если вы проверяете пустую дату. – Bart

+0

@Juhana, который проверяет, является ли объект элемента нулевым, если дата равна нулю. – Nomad101

0

Для всех, кто пропустил это мой код был сломан!

var d = $("#myDatepicker1").datepicker("getDate"); 
if ($.isEmptyObject(d)) { 
    $("#dailySummaryDateSelector").datepicker("setDate", new Date()); 
} 

Должно быть:

var d = $("#dailySummaryDateSelector").datepicker("getDate"); 
if ($.isEmptyObject(d)) { 
    $("#dailySummaryDateSelector").datepicker("setDate", new Date()); 
} 

Сейчас это работает:

var d = $("#dailySummaryDateSelector").datepicker("getDate"); 
if (d == null) { 
    $("#dailySummaryDateSelector").datepicker("setDate", new Date()); 
} 
Смежные вопросы