7

jQuery UI の日付ピッカーをフォーカスして表示するように設定されたテキスト フィールド (フォーム内) があります。

PHP を使用して (更新画面で)、このテキスト フィールドの値に (ページの読み込み時に)、この特定のレコードに対する以前のエンド ユーザー入力に基づく日付文字列を入力します。

私の問題は、日付ピッカーに minDate および maxDate オプションを設定したことです。これらの制限は、テキスト フィールドに表示される元の値を改ざんします。

テキスト フィールド文字列が最小値より小さい場合、テキスト フィールドは minDate の値に設定されます。

ユーザーがカレンダーから変更を行わない限り、元の値がカレンダーの範囲 (minDate または maxDate 値) から外れても変更されないままにする必要があります。

例:

minDate: 01-04-2013 (dd-mm-yy)
maxDate: 30-04-2013 (dd-mm-yy)
Original text field value: 16-03-2013 (dd-mm-yy)
Displayed text field value: 01-04-2013 (dd-mm-yy)

minDate および maxDate オプションは、エンドユーザーが現在の日付から特定の定義された期間内にデータを入力/変更することを制限するという考え方です。

jQuery UI Datepicker 1.8.16 と jQuery JavaScript ライブラリ v1.6.2 を使用しています。ブラウザ: Internet Explorer 7 以降、Firefox

4

2 に答える 2

1

ここにそれをやってのける1つの方法があります。

$(document).ready(function()
{
    var DateLimits = {min:null, max:null};

    DateLimits.min = new Date(Date.parse("01-01-2014"));
    DateLimits.max = new Date(Date.parse("12-31-2014"));

    $( "#datepicker" ).datepicker(
    {
        dateFormat: "mm-dd-yy",
        minDate: DateLimits.min,
        maxDate: DateLimits.max
    });
});

これがフィドルです:http://jsfiddle.net/DEfQL/1/

インスピレーション:文字列を使用して jQueryUI Datepicker の minDate/maxDate を設定するにはどうすればよいですか?

于 2014-04-08T15:06:00.780 に答える