2010-03-01 3 views
0

Я использую jQuery Datepicker (http://keith-wood.name/datepick.html) с пользовательским диапазоном дат. Моя проблема в том, что мне нужен вывод даты, когда пользователь должен быть в читаемом формате, таком как dd/mm/yyyy, но затем принять эту дату и передать ее в форму поиска в виде yyyymmdd.Передача форматированной даты с jquery datepicker

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

ответ

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

0

Если вы можете, попробуйте использовать JQuery UI DatePicker: http://jqueryui.com/demos/datepicker/

+0

спасибо за ссылку. Я просмотрел документацию, и, похоже, у нее есть отдельные переменные для формата отображения и синтаксический анализ, чтобы передать строку, которая идеально подходит. Когда я получаю больше времени, я займусь переключением на этот плагин, так как он также выглядит красивее. – Choy

Смежные вопросы