Вам нужно будет инициировать два поля отдельно.Вы можете сохранить настройки в объекте для повторного использования.
JavaScript будет выглядеть примерно так:
var settings = {
dateFormat: "M d, yy",
changeMonth: true,
numberOfMonths: 1,
onSelect: function(selectedDate) {
var option = this.id == "from" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(
instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
$("#from, #to").not(this).datepicker("option", option, date);
}
};
$("#to").datepicker(settings);
$("#from").datepicker($.extend({}, settings, { defaultDate: '-30d'}));
См. Это в действии: http://jsfiddle.net/william/xtATL/.
Редактировать :
Вы можете использовать функцию полезности $.datepicker.formatDate(format, date, settings)
для форматирования даты, отображаемой во входных данных:
$("#to").val(function() {
return $.datepicker.formatDate('M d, yy', new Date(), settings);
});
$("#from").val(function() {
var thirtyDaysAgo = new Date().getTime() - 30 * (1000*60*60*24);
return $.datepicker.formatDate('M d, yy', new Date(thirtyDaysAgo), settings);
});
См. Обновленный пример: http://jsfiddle.net/william/xtATL/4/.