0

月/年のみを選択するオプションを提供するために datpicker を使用しています。月が選択されると、選択された値でフォームが送信されます。

ここにコードがあります: このコードを使用したjquery ui datepicker :

    $(document).ready(function(){
        $("#datepicker").datepicker( {
            changeMonth: true,
            changeYear: true,
            showButtonPanel: false,
            yearRange: "2013:2015",
            onChangeMonthYear: function(dateText, inst) { 
                console.log($(".ui-datepicker-year :selected",$(this)).val() 
                    + "/" + $(".ui-datepicker-month :selected",$(this)).val());
            }
        });
    });

しかし、返された数値が間違っている場合が 2 つあります。

(console.log の値)

  1. 2013 年 10 月などの月を選択しようとすると、返される値は 2013/9 で、これで問題ありません。矢印をクリックして 2013 年 11 月に移動しようとすると、値が 2013/9 になり、これは間違っています。同様に、2013 年 12 月から 2012 年 1 月にジャンプすると、2013/11 が返されます。

  2. 最後の「2015 年 12 月」に移動してから次の矢印をクリックすると、最初の「2013 年 1 月」に戻りますが、それで問題ありませんが、次の矢印をクリックし続けると、もう移動できないことがわかります。 「2013 年 12 月」から「2014 年 1 月」までは、「2013 年 1 月」に戻ります。

どんな助けでも大歓迎です。

4

1 に答える 1

1

onChangeMonthYear()新しく選択された年と月を引数として受け取るので、それらを直接使用できます

            ...
            minDate: new Date(2013, 1 - 1, 1),
            maxDate: new Date(2015, 12 - 1, 31),
            onChangeMonthYear: function(year, month, inst) { 
                console.log(
                    year + "/" + month
                );
            }
于 2013-09-04T17:19:10.403 に答える