Вы можете захватить значение, используя $("[id$=txtFromDate]").datepicker("getDate")
с событием change
из первого указателя даты и установить опцию minDate
второго указателя даты с обновленным значением даты. Ниже приведен пример выполнения вашей задачи:
$("[id$=txtFromDate]").datepicker({
'format': 'yyyy-mm-dd',
autoclose: true,
todayHighlight: true,
}).attr('readonly', 'readonly').change(function() {
var date2 = new Date($("[id$=txtFromDate]").datepicker("getDate"));
date2.setDate(date2.getDate() + 7); // set 7 days ahead
$('[id$=txtToDate]').datepicker("setDate", date2); // set date value of second datepicker
$('[id$=txtToDate]').datepicker("option", "minDate", date2); // set minimum date of second datepicker
});
Примечание: Вы можете сделать обратный путь для txtToDate
с date2.setDate(date2.getDate() - 7);
и txtFromDate
в качестве цели, чтобы оба средства выбора даты могли настраиваться.
Дополнительное примечание: Если у вас возникли проблемы с селекторами выбора даты и вы не используете ClientIDMode="Static"
, замените $("[id$=datepickerid]")
на $('<%= datepickerid.ClientID %>')
, как показано в приведенном ниже примере:
$("<%= txtFromDate.ClientID %>").datepicker({
'format': 'yyyy-mm-dd',
autoclose: true,
todayHighlight: true,
}).attr('readonly', 'readonly').change(function() {
var date2 = new Date($("<%= txtFromDate.ClientID %>").datepicker("getDate"));
date2.setDate(date2.getDate() + 7); // set 7 days ahead
$('<%= txtToDate.ClientID %>').datepicker("setDate", date2); // set date value of second datepicker
$('<%= txtToDate.ClientID %>').datepicker("option", "minDate", date2); // set minimum date of second datepicker
});
Рабочий пример: JSFiddle