Отключение jQuery DatePicker удаляет дату
У меня есть два выбора даты, даты начала и окончания.
В ответ на выбор из выпадающего списка (ddlFreq) я хочу установить дату окончания так же, как дату начала, и отключить дату окончания, если выбранное значение ddlFreq равно 1.
Если я иду в следующем порядке: выберите частоту со значением 1, установите дату начала, он правильно устанавливает дату окончания на дату начала и отключает ее. Однако, если я сначала выберу дату начала (которая устанавливает дату окончания так же, как дату начала), а затем выберу частоту 1, дата окончания отключается и очищается.
Не могу понять, почему это очищается.
Вот что у меня есть:
<div class="col-sm-2 col-md-2">
<div class="form-group"><label>Frequency</label><br />
<asp:DropDownList runat="server"
ID="ddlFrequency"
CssClass="form-control"
DataSourceID="odsFrequency"
DataTextField="Frequency"
DataValueField="FrequencyID"
AppendDataBoundItems="true"
onchange="freqChanged(this)">
<asp:ListItem Text="Select Frequency" Value="0" />
</asp:DropDownList>
</div>
</div>
<div class="col-sm-3 col-md-3">
<div class="form-group"><label>Start Date</label><br />
<div class="input-group input-append date" id="tpStartDate">
<input runat="server" id="tbStartDate" name="tbStartDate" clientidmode="static" type="text" class="form-control datepicker" style="width:85%" />
</div>
</div>
</div>
<div class="col-sm-3 col-md-3">
<div class="form-group"><label>End Date</label><br />
<div class="input-group input-append date" id="tpEndDate">
<input runat="server" id="tbEndDate" name="tbEndDate" clientidmode="static" type="text" class="form-control datepicker" style="width:85%" />
</div>
</div>
</div>
<script type="text/javascript">
function pageLoad() {debugger
$('#tbStartDate').unbind();
$("#tbStartDate").datepicker({
showOtherMonths: true,
selectOtherMonths: true,
showOn: "button",
buttonImage: "../assets/images/calendar.gif",
buttonImageOnly: true,
buttonText: "Select Statrt Date",
option: "mm/dd/yy",
onSelect: function (dateStr) {
var freq = $('#<%= ddlFrequency.ClientID %>').val();
$("#tbEndDate").val(dateStr);
$("#tbEndDate").datepicker("option", { minDate: new Date(dateStr) })
if (1 == freq) {
$("#tbEndDate").datepicker('disable');
}
else {
$("#tbEndDate").datepicker('enable');
}
}
});
$('#tbEndDate').unbind();
$("#tbEndDate").datepicker({
showOtherMonths: true,
selectOtherMonths: true,
showOn: "button",
buttonImage: "../assets/images/calendar.gif",
buttonImageOnly: true,
buttonText: "Select End Date",
option: "mm/dd/yy"
});
}
function freqChanged(ddl) {debugger
var freq = ddl.value;
if (freq == 1) {
startDate = $("tbStartDate").datepicker('getDate');
$("#tbEndDate").val(startDate);
$("#tbEndDate").datepicker("option", { minDate: new Date(startDate) });
$('#tbEndDate').datepicker('disable');
}
else {
$("#tbEndDate").datepicker('enable');
}
}
</script>