使用jquery datepicker传递格式化日期

时间:2010-03-01 04:09:56

标签: jquery jquery-plugins formatting datepicker

我正在使用带有自定义日期范围的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。有谁知道如何格式化这些值以传递到我的搜索表单中?

2 个答案:

答案 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/