4

リンクされた Bootstrap datetimepicker が 2 つあります。それらのコードは次のとおりです。

var d = new Date();
var one_month = d.setMonth( d.getMonth( ) + 1 );

$(function () {
    $('#pick1').datetimepicker({
            locale: 'en',
            sideBySide: true,
            defaultDate: new Date(),
            minDate: new Date(),
            format: 'DD/MM/YYYY HH:mm',
            stepping: 15
    });

    $('#pick2').datetimepicker({
            locale: 'en',
            sideBySide: true,
            defaultDate: one_month,
            minDate: new Date(),
            format: 'DD/MM/YYYY HH:mm',
            stepping: 15
    });

    $('#pick1').on('dp.change', function (e) {
            $('#pick2').data('DateTimePicker').minDate(e.date);
    });
    $('#pick2').on('dp.change', function (e) {
            $('#pick1').data('DateTimePicker').maxDate(e.date);
    });
});

私が抱えている問題は、現在の時間に応じて、ピッカーの 1 つ (通常はpick1) がデフォルトの日付を表示しないことです。

説明する jsFiddle を次に示します。

https://jsfiddle.net/6xbt5wa9/1/

(問題ないようであれば、数分後に再度実行してください)

この問題はオプションに関連していると思いsteppingます。これは、コメントアウトすると問題が修正されるためです。

また、この問題はステッピング フィギュアの開始に関連しているようにも見えます。したがって、steppingが 15 に設定されている場合。15分、16分、17分には問題がありますが、30分には問題はありません。私はこの仮説を結論に至るまでテストしていません。人生は短すぎます。

誰でも助けることができますか?何か不足していますか?

4

2 に答える 2

4

私はまさにこの問題に遭遇しました。この問題はプラグインのGitHub ページで提起されましたが、このバグはまだ修正されていないようです。

これが発生する理由は、ステッパーが最も近い値に丸められるためです。そのため、これはminDate = moment().

例: 11:18am は 11:15am に切り捨てられますが、これはmoment() 無効にする前の値です。

この説明は、GitHub の問題提起者の厚意によるものです。

問題提起者は、それがどれほど信頼できるかわからないハックな回避策を提供し続けています。この問題はまだ解決されていないかもしれませんが、少し前に提起されました!

私はこの情報をみんなと共有しようと思いました (たとえこれが古い質問であっても!)。

于 2016-03-02T11:31:10.623 に答える