0

こんにちは私は、ユーザーがイベントを作成したい場合に開始日時と終了日時を選択できるアプリを持っています。これは、KendoUI日時プラグインを使用するHTMLです。

<div class="demo-section" style="width: 535px;">
                <label for="start">Start date:</label>
                <input id="start" value="01/01/2013" />

                <label for="end" style="margin-left:3em">End date:</label>
                <input id="end" value="01/01/2013"/>
            </div>
</li>

<script type="text/javascript">
$(document).ready(function(){

function startChange() {
    var startDate = start.value();
    if (startDate) {
        startDate = new Date(startDate);
        startDate.setDate(startDate.getDate());
        end.min(startDate);
    }
}

function endChange() {
    var endDate = end.value();

    if (endDate) {
        endDate = new Date(endDate);
        endDate.setDate(endDate.getDate());
        start.max(endDate);
    }
}

var start = $("#start").kendoDateTimePicker({
    change: startChange,
    parseFormats: ["MM/dd/yyyy"]
}).data("kendoDateTimePicker");

var end = $("#end").kendoDateTimePicker({
    change: endChange,
    parseFormats: ["MM/dd/yyyy"]
}).data("kendoDateTimePicker");

start.max(end.value());
end.min(start.value());

});

問題は、私が望むように検証を取得できないことです。ユーザーが日付を選択したとするとFromTo日付には現在選択されている日付よりも大きい日付が表示されます。現在のFromコードはうまく機能していないようです。ありがとう

4

1 に答える 1

0

Fromより大きい日付を選択できるようにしたいのでToToそうすると自動的により大きい日付に更新する必要があると言っていますFromか?

もしそうなら、あなたはほとんどそこにいます。に関連する日付を更新するには、startChange関数を更新する必要があります。ToFrom

function startChange() {
    var startDate = start.value();
    if (startDate) {
        startDate = new Date(startDate);
        startDate.setDate(startDate.getDate());
        end.min(startDate);
        var endDate = end.value();
        if (endDate && endDate <= startDate) {
            endDate.setDate(startDate.getDate() + 1);
            end.value(endDate);
        }
    }
}

完全に機能する例については、このjsFiddleを確認してください。

于 2013-03-13T10:41:39.403 に答える