У меня есть выбор рабочего диапазона, используя базовый диапазон дат JQuery UI от веб-сайта пользовательского интерфейса.
HTML
<button id="week">Past Week</button><br />
<label for="from">From</label>
<input type="text" id="from" name="from" value"">
<label for="to">to</label>
<input type="text" id="to" name="to" value"">
JQ
$( "#from" ).datepicker({
defaultDate: "+1w",
dateFormat: 'MM d, yy',
numberOfMonths: 1,
onClose: function( selectedDate ) {
$( "#to" ).datepicker( "option", "minDate", selectedDate );
}
});
$( "#to" ).datepicker({
defaultDate: "+1w",
dateFormat: 'MM d, yy',
numberOfMonths: 1,
onClose: function( selectedDate ) {
$( "#from" ).datepicker( "option", "maxDate", selectedDate );
}
});
Мне также необходимо включить кнопку для автоматического выбора предыдущих 7 дней с текущей даты. Я использовал новую Date(); метод для достижения "рабочей" версии (на сегодняшний день не существует формации даты).
$( "#week" ).click(function() {
var today = new Date();
var lastweek = new Date(new Date().setDate(new Date().getDate()-7));
$( "#from" ).val(lastweek);
$( "#to" ).val(today);
});
Однако я бы предпочел использовать функцию datepicker для достижения диапазона на предыдущей неделе, и я не могу понять, как это сделать (если это возможно). Основной причиной является то, что если пользователь выбирает опцию "Предыдущая неделя", затем выбирает новую дату, я хочу, чтобы существующая дата была выбрана в виджете календаря.
У меня это в jsfiddle http://jsfiddle.net/lopac1029/RuhWj/
Бум бум бум. Другой связанный с этим вопрос был предложен мне на боковой панели после публикации, и я смог использовать это в качестве основы для выяснения этого:
$( "#week" ).click(function() {
var today = new Date();
var from = new Date(today.getTime());
from.setDate(from.getDate() - 7);
$("#to").datepicker("setDate", today);
$("#from").datepicker("setDate", from);
});
Обновлен jsfiddle
Спасибо, что всегда был для меня, stackoverflow.