Отключение 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>

0 ответов

Другие вопросы по тегам