我在2个文本框中有一个日期选择器,我试图将这些文本框的值添加到需要有效Javascript日期的函数中。
这是函数的一部分 - start是Date
else if (daystosearch == 'custom') {
start.setDate(Date.parse($('#<%= tStartDate.ClientID %>').val()));
end.setDate(Date.parse($('#<%= tEndDate.ClientID %>').val()));
}
Date.Parse不起作用,因为文本框的值是&#34; 10/29/2012&#34;这不是一个可解析的日期。如何使用start.setDate
并获取文本框日期的值?
答案 0 :(得分:2)
使用$(selector).datepicker("getDate")
然后.getDate()
来抓住这一天。在你的情况下:
start.setDate($('#<%= tStartDate.ClientID %>').datePicker("getDate").getDate());
正如第一条评论所说,这将直接为您提供Date对象,而不管文本框中使用的字符串格式如何。看看API documentation:)
编辑:正如ianpgall所说,您还需要使用getDate()来获取日期编号。
答案 1 :(得分:2)
如果文本框的值类似于“10/29/2012”,您应该可以使用:
var new_start = new Date($('#<%= tStartDate.ClientID %>').val());
但是如果您尝试使用setDate
,它接受的值是1-31的整数,因此您需要在新的Date对象上使用getDate
,如:
var new_start = new Date($('#<%= tStartDate.ClientID %>').val());
start.setDate(new_start.getDate());
答案 2 :(得分:0)
使用datepicker http://docs.jquery.com/UI/Datepicker/parseDate
中的效用函数$.datepicker.parseDate('yy-mm-dd', '2007-01-26');