2 つの HTML 入力要素があります。1 つ目は選択した月と年を表示する読み取り専用のテキスト入力で、2 つ目は選択した日付を保存する非表示の入力です。
<input type="text" id="MonthDisplay" readonly="readonly" />
<input type="hidden" name="Month" />
目標は、選択された実際の日付を非表示フィールドに格納することですが、月と年のみを可視の MonthDisplay フィールドに表示することです。
日付ピッカーを初期化するコードは次のとおりです。
$('#MonthDisplay')
.datepicker({
'dateFormat' : 'MM yy',
'changeMonth' : true,
'changeYear' : true,
'yearRange' : '2010:'+new Date().getFullYear(),
'altField' : "input[type=hidden][name=Month]",
'altFormat' : "m/d/yy"
});
ユーザーが初めて日付を選択すると、すべてがうまく機能します。表示フィールドと非表示フィールドの両方が正しく設定されています。しかし、ユーザーが表示フィールドを 2 回目にクリックすると、日付ピッカーは選択された月にデフォルト設定されません。代わりに、デフォルトで今日の月になります。コントロールが日付を解析できないため、これが起こっていると確信しています.dateFormatに日を含めるように設定すると(フォーマット文字列を使用"dd MM yy"
)、うまく機能します。しかし、ユーザーへの表示にその日を含めたくありません。
だから私の質問は、日付ピッカーが使用している日付を2回目にインターセプトするにはどうすればよいですか?日付は選択された前の月を覚えていますか?
または、別の質問として、日付ピッカーまたは別のコントロールで日付を選択せずに月と年のみを選択する方法はありますか?