2013-05-12 66 views
0

我已经尝试了检查这个逻辑工作的每个组合,我无法找到正确的语法。Javascript检查空日期选择器

我的JavaScript以下位:

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

页面加载和d评估萤火虫其显示为Object [ ]

if声明我已经试过:

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

这些都不起作用。据我所知Object [ ]是一个空的对象,所以我如何真正测试它,并得到执行if语句的内容?

+1

奇怪。 '(d == null)'应该可以工作。你确实意识到你正在调用两个ID('$(“#myDatepicker1”)''和$(“#dailySummaryDateSelector”)),对吧? – acdcjunior 2013-05-12 19:46:33

+0

斑点!我不敢相信我错过了! (d == null)现在确实在工作! – Jammer 2013-05-12 19:51:33

+0

日期选择器以当前日期作为开始日期进行初始化,所以它应该一般不会返回空值,除非您明确将其设置为没有选定日期。如果问题试图从不存在的对象获取日期,因为您没有检查选择器,@acdcjunior应该添加该对象作为答案,并且您应该接受它,因为它很好被发现。 – adeneo 2013-05-12 19:54:01

回答

4

GETDATE()

返回:日期

如果没有日期 被选择返回日期选择器或空当前日期。此方法不接受任何参数。

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

空(jQuery)对象!== null – JJJ 2013-05-12 19:30:04

+0

@Juhana如果您正在检查空的日期,则不需要。 – Bart 2013-05-12 19:35:07

+0

@Juhana检查元素对象是否为null,如果日期为null。 – Nomad101 2013-05-12 19:35:50

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()); 
}