我正在使用带有自定义日期范围的jQuery Datepicker(http://keith-wood.name/datepick.html)。我的问题是我需要用户的日期输出采用可读格式,例如dd / mm / yyyy,然后取出该日期并将其作为yyyymmdd传递给搜索表单。
$(function() {
$('#startDatepicker,#endDatepicker').datepick({onSelect: customRange,
showOn: 'both', buttonImageOnly: true, buttonImage: '/images/icons/calendar.gif', dateFormat: 'dd/mm/yy'});
function customRange(dateStr, date) {
if (this.id == 'startDatepicker') {
$('#endDatepicker').datepick('option', 'minDate', date);
}
else {
$('#startDatepicker').datepick('option', 'maxDate', date);
}
}
});
function getDateRange() {
var fromDate = document.advancedsearch.startDatepicker.value;
var toDate = document.advancedsearch.endDatepicker.value;
var selectedDateRange = fromDate + "," + toDate;
document.advancedsearch.searchdaterange.value += selectedDateRange;
}
基本上我正在使用startDatepicker和endDatepicker的值,将它们组合起来,然后将它们作为我的搜索表单上searchdaterange字段的值添加。日期范围必须为yyyymmdd。有谁知道如何格式化这些值以传递到我的搜索表单中?
答案 0 :(得分:1)
为什么不在提交表单数据之前修改日期选择器提供的日期字符串,使它们具有所需的格式?
function getDateRange() {
var fromDate = document.advancedsearch.startDatepicker.value;
var toDate = document.advancedsearch.endDatepicker.value;
var selectedDateRange = formatDateRange(fromDate, toDate);
document.advancedsearch.searchdaterange.value += selectedDateRange;
}
function formatDateRange(fromDate, toDate) {
var fromDateArray = fromDate.split("/")
var toDateArray = toDate.split("/")
var selectedDateRange = fromDateArray[2] + fromDateArray[0] + fromDateArray[1];
selectedDateRange += "," + toDateArray[2] + toDateArray[0] + toDateArray[1];
return selectedDateRange;
}
答案 1 :(得分:0)
如果可以,请尝试使用jQuery UI DatePicker:http://jqueryui.com/demos/datepicker/