Я использовал два jquery datepickers.
В первом выборе даты я выбираю дату типа «18-MAR-2012», а следующий выбор даты должен показывать только дату с 15-MAR-2012 до 21-MAR-2012.
Он должен добавить только 3 дня до и после конкретной даты («18-MAR-2012») Как это сделать?JQuery Datepicker установлен только 3 даты до и после даты коррекции
ответ
Это связано с диапазоном datepicker. Я нашел решение и, возможно, это поможет вам. Рабочий скрипт here (Стилирование отсутствует в скрипке). Здесь я устанавливаю предел для следующего выбора даты при функции onSelect от первого datepicker.
var d;var tempdate; var tempdate1; var da; var da1;
$('#nam1').datepicker({
minDate: 0,
dateFormat: 'd/m/yy',
buttonImageOnly: true,
showAnim: 'slideDown',
duration: 0,
onSelect: function(dateStr) {
d = $.datepicker.parseDate('d/m/yy', dateStr); //Get selected date
tempdate = new Date(d);
tempdate1 = new Date(d);
tempdate.setDate(tempdate.getDate() - 3); //Subtracted 3 days
tempdate1.setDate(tempdate1.getDate() + 3); // added 3 days
da = new Date(tempdate);
da1 = new Date(tempdate1);
}
});
$('#nam2').datepicker({
dateFormat: 'd/m/yy',
buttonImageOnly: true,
showAnim: 'slideDown',
duration: 0,
beforeShow: function(input)
{
//setting min and max date for second datepicker
if(da1 != undefined) return { minDate: da, maxDate: da1 };
}
});
Там будет еще лучший способ обработки переменной даты. Попробуйте сами.
Nice :) Его работа –
Спасибо, джентльмен! – Jebin
$(function(){
$('#datepicker').datepicker({
onSelect: function(dateText, inst) {
var threeDays = 259200000;
$('#datepicker2').datepicker("option", "minDate", new Date(Date.parse(dateText)-threeDays));
$('#datepicker2').datepicker("option", "maxDate", new Date(Date.parse(dateText)+threeDays));
$('#datepicker2').datepicker("setDate", dateText);
}
});
$('#datepicker2').datepicker();
});
... 259200000 - 3 дня в микросекундах. каждый раз, когда вы выбираете дату в первом datepicker, она ограничивает диапазон в 2. one. К сожалению, если я не укажу $('#datepicker2').datepicker("setDate", dateText);
, то датой во втором datepicker будет установлено последнее возможное значение.
http://stackoverflow.com/a/4495603/1013082 Проверьте это решение. Разумеется, вам нужно будет настроить его, но это должно дать вам отправную точку. – MetalFrog