1

この問題を止めるにはどうすればよいですか?

以下のフィドラーを確認してください。http://jsfiddle.net/cse_tushar/3t4j9/4/

<input id="datePick" type="text"/>

$('#datePick').multiDatesPicker();

カレンダーで日付を選択し、再び翌月に移動して別の日を選択します。たとえば、2013 年 8 月 8 日と 2013 年 9 月 9 日を選択し、9 月から別の日付を選択したとします。選択したカレンダーが 8 月に表示されるとすぐに、選択した日付が 9 月に表示されます。これはダフルな動作であり、解決する方法があるはずです。

教えてください

4

2 に答える 2

1

プラグインのドキュメント ページにある例のようなものを試してみます。このフィドルをチェックしてください。デフォルトの日付にリセットされないように、カレンダーの表示を静的に保ちます。

HTML

<input id="dates" type="text"/>
<div id="datePick" />

JS

var dates = [];
$('#datePick').multiDatesPicker({
    onSelect: function (e) {
        dates.push(e);
        var dateList = "";
        $.each(dates, function (i, d) {
            if (dateList.length > 0) {
                dateList += ",";
            }
            dateList += d;
        });
        $("#dates").val(dateList);
    }
});

それは必ずしも最も美しい js ではありません - もっと良いかもしれないと確信していますが、それはアイデアを示しています。

あなたが抱えているかもしれない問題の1つは、何の日付を表示するかということだと思います。ユーザーが特定の順序で日付を選択することを保証することはできません。その月の最後の選択を常に使用しますか? 「onSelect」にフックして、最後の選択を解析し、デフォルトの日付をその月に設定できると思いますか? それはあなたが望むように機能するかもしれません。

編集

私のフィドルと同じことをする「altField」があるのを見ました。しかたがない。:)

編集2

このフィドルを確認してください。(上記のように)最後の日付を解析しますが、プラグインの「デフォルト」日付を設定する方法がわかりません。プラグインを編集しないとできない場合があります。少なくともそれは始まりです...

于 2013-08-07T08:04:13.527 に答える