53

こんにちは、jQuery datepickerの最小日付を(1999-10-25)に設定したいと思います。だから私はそれが機能していない以下のコードを試しました。

$(function () {
    $('#datepicker').datepicker({
        dateFormat: 'yy-mm-dd',
        showButtonPanel: true,
        changeMonth: true,
        changeYear: true,
        showOn: "button",
        buttonImage: "images/calendar.gif",
        buttonImageOnly: true,
        minDate: new Date(1999, 10 - 1, 25),
        maxDate: '+30Y',
        inline: true
    });
});

最小年を2002より上に変更すると正常に機能しますが、最小年を2002未満に指定すると(上記の例1999のように)、2002までしか表示されません。
とを使用jquery-1.7.1.min.jsしてjquery-ui-1.8.18.custom.min.jsいます。

4

7 に答える 7

104
$(function () {
    $('#datepicker').datepicker({
        dateFormat: 'yy-mm-dd',
        showButtonPanel: true,
        changeMonth: true,
        changeYear: true,
yearRange: '1999:2012',
        showOn: "button",
        buttonImage: "images/calendar.gif",
        buttonImageOnly: true,
        minDate: new Date(1999, 10 - 1, 25),
        maxDate: '+30Y',
        inline: true
    });
});

年の範囲オプションを追加しました。それは問題を解決するはずです

于 2012-04-13T11:13:43.887 に答える
17

問題は、「yearRange」のデフォルトオプションが10年であるということです。

だから2012 - 10 = 2002

したがって、yearRangeをc-20:c1999()または1999(yearRange: '1999:c')に変更し、それを制限日(mindate、maxdate)と組み合わせて使用​​します。

詳細:https ://jqueryui.com/demos/datepicker/#option-yearRange


例を参照してください:(JSFiddle

そして、追加されたコード:

$(function () {
    $('#datepicker').datepicker({
        dateFormat: 'yy-mm-dd',
        showButtonPanel: true,
        changeMonth: true,
        changeYear: true,
        showOn: "button",
        buttonImage: "images/calendar.gif",
        buttonImageOnly: true,
        minDate: new Date(1999, 10 - 1, 25),
        maxDate: '+30Y',
        yearRange: '1999:c',
        inline: true
    });
});
于 2012-04-13T11:11:55.217 に答える
5

Hiyaワーキングデモ: http: //jsfiddle.net/femy8/

これで、カレンダーは1999-10-25の最小値になります。

画像をクリックします。つまり、カレンダーのテキストボックスの横にある小さなアイコンをクリックして表示します。1999年まで選択してみることができますが、選択の最小日は1999年10月25日です。これはあなたが望むものです。

これは役に立ちます、素敵なものを持ってください!:) 乾杯!

Jqueryコード

$(".mypicker").datepicker({
    changeYear: true,
    dateFormat: 'yy-mm-dd',
    showButtonPanel: true,
    changeMonth: true,
    changeYear: true,
    showOn: "button",
        buttonImage: "images/calendar.gif",
        buttonImageOnly: true,
        minDate: new Date('1999/10/25'),
        maxDate: '+30Y',
        inline: true
});


​
于 2012-04-13T11:07:45.763 に答える
2

将来のプログラマーのためにこれを追加したいだけです。

このコードは、日付の最小値と最大値を制限します。現在の年を最大年として取得することにより、年は完全に制御されます。

これが誰にでも役立つことを願っています。

これがコードです。

var dateToday = new Date();
var yrRange = '2014' + ":" + (dateToday.getFullYear());

$(function () {
    $("[id$=txtDate]").datepicker({
        showOn: 'button',
        changeMonth: true,
        changeYear: true,
        showButtonPanel: true,
        buttonImageOnly: true,
        yearRange: yrRange,
        buttonImage: 'calendar3.png',
        buttonImageOnly: true,
        minDate: new Date(2014,1-1,1),
        maxDate: '+50Y',
        inline:true
    });
});
于 2015-04-13T00:58:12.247 に答える
2

たとえば、最小の日付、過去3か月、最大の日付を次の3か月に入力する必要がある場合に備えて

$('#id_your_date').datepicker({ 
   maxDate: '+3m',
   minDate: '-3m'
 });
于 2017-07-14T14:12:00.447 に答える
0

このようにしてみてください

<script>

  $(document).ready(function(){
          $("#order_ship_date").datepicker({
           changeMonth:true,
           changeYear:true,           
            dateFormat:"yy-mm-dd",
            minDate: +2,
        });
  }); 


</script>

htmlコードを以下に示します

<input id="order_ship_date"  type="text" class="input" style="width:80px;"  />
于 2015-04-15T09:37:59.403 に答える
0

基本的に、すでに年の範囲を指定している場合は使用する必要はなく、年mindateのみmaxdateが必要な場合

于 2017-03-04T16:45:19.773 に答える