1

jQuery UI の月と年のメニューを使用しています。何が起こっているのか、どこで問題が発生しているのかを次に示します。

  • 日付フィールドをクリックします
  • 月のドロップダウンを 1 月に変更します
  • 年のドロップダウンを 2003 に変更します
  • カレンダーの 1 日をクリックします。
  • 日付フィールドに 01/01/2003 が正しく入力されている

ここで私は問題に遭遇します:

  • 日付フィールドをクリックします (もう一度)
  • 月 (または年) ドロップダウンを変更する
  • 日付は変わらない
  • 日付ピッカーをクリックして非表示にします
  • 日付はまだ変わらない

日付を入力した後に月または年のドロップダウンを使用する方法はありますか?

http://jsfiddle.net/ryanburnett/8N9Xq/

<p>Date: <input type="text" id="datepicker" /></p>

$(function() {
    $( "#datepicker" ).datepicker({
      changeMonth: true,
      changeYear: true
    });
  });
4

2 に答える 2

2

設計上、月と年の変更によって日付ピッカーが更新されることはありません。onChangeMonthYear次のオプションを使用して、新しく選択した日付を (ドロップダウンからも) 設定できます。

日付ピッカーが新しい月や年に移動するときに呼び出されます。この関数は、選択された年、月 (1 ~ 12)、および datepicker インスタンスをパラメーターとして受け取ります。これは、関連する入力フィールドを参照します。

コード:

$("#datepicker").datepicker({
    changeMonth: true,
    changeYear: true,
    onChangeMonthYear: function (year, month, day) {
        $(this).datepicker('setDate', new Date(year, month - 1, day.selectedDay));
    }
});

作業フィドル: http://jsfiddle.net/7Xdhy/

于 2013-07-17T16:36:52.917 に答える
0

jQuery-ui の日付ピッカーは、特定の日付をクリックした場合にのみ変更されます。

それがまさに彼らがそれを設計した方法です。

月と年だけを使用したい場合は、独自の JavaScript を作成することをお勧めします (そのほうが早いです、信じてください...)。

于 2013-07-17T16:22:32.000 に答える