2010-03-01 90 views
0

我正在使用自定義日期範圍的jQuery日期選擇器(http://keith-wood.name/datepick.html)。我的問題是,我需要用戶的日期輸出爲可讀格式,例如dd/mm/yyyy,但是接下來將該日期傳遞給搜索表單,如yyyymmdd。傳遞格式化的日期與jQuery的日期選擇器

$(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

子串和級聯? – alex 2010-03-01 04:20:46

回答

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; 
} 
+0

輝煌!謝謝! – Choy 2010-03-01 07:38:08

0

如果可以的話,儘量使用jQuery UI的DatePicker:http://jqueryui.com/demos/datepicker/

+0

感謝您的參考。我查看了文檔,看起來它有單獨的顯示格式變量和解析來傳遞完美的字符串。當我獲得更多時間時,我會考慮切換到此插件,因爲它看起來更漂亮。 – Choy 2010-03-01 07:40:23