2

私は(今日から1週間、今日と1週間を引いた)間の日付のみを選択するように強制しようとしていますが、代わりに過去の日付が無効で将来の日付が無制限のdatePickerを取得しています。

何か案が?(私はjQueryを初めて使用します、それで遊んで2日目です...)ありがとう!

明確に再現するためにコードを分離しました。

<html>                                                                  
<head>                                                                  
    <title>jquery sample</title>
    <script type="text/javascript" src="jquery-1.4.1.min.js"></script>
    <script type="text/javascript" src="date.js"></script>
    <script type="text/javascript" src="jquery.datePicker.js"></script>
    <link href="datePicker.css" rel="stylesheet" type="text/css" />
    <link href="custom.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" charset="utf-8">
        $(function () {
            $('.date-pick').datePicker({ minDate: '-7D', maxDate: '+7D' }).val(new Date().asString()).trigger('change');
        });
    </script>
</head>
<body>                                                                  
    <a href="">Link</a>
    <input name="date1" id="date1" class="date-pick" />
</body>                                                                 

4

3 に答える 3

2

@Nickが指摘したように、私が行ったのと同じ2つの日付ピッカーを混同しているようです。使用しているdatepickerプラグインにはオプションがminDateありません: http ://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/documentation.htmlmaxDate

しかし、jQueryUIのdatepickerはそうします。http://jqueryui.com/demos/datepicker/#option-minDate

どちらを使うつもりでしたか?プラグイン(jQuery UIのものではない)の場合は、startDateandendDateオプションを使用します(絶対日付文字列のみを受け入れるように見えます[一種のくだらない、IMO]):

$(function() {
    var MS_PER_WEEK = 604800000;
        now = new Date().getTime(),
        start = new Date(now - MS_PER_WEEK),
        end = new Date(now + MS_PER_WEEK),
        startStr = start.getDate() + '/' + (start.getMonth() + 1) + '/' + start.getFullYear(),
        endStr = end.getDate() + '/' + (end.getMonth() + 1) + '/' + end.getFullYear()

    $('.date-pick').datePicker({
        startDate: startStr
        endDate: endStr
    }).val(new Date().asString()).trigger('change');
});

jQuery UI datepickerの場合、d日を示すために小文字を試してください。

$(function() {
    $('.date-pick').datepicker({
        minDate: '-7d',
        maxDate: '+7d'
    }).val(new Date().asString()).trigger('change');
});

于 2010-09-01T13:55:11.750 に答える
2

オプションは現在のプラグインによって異なり、次のように文字列である必要がありますstartDateendDate

$(function () {
  $('.date-pick').datePicker({ 
     startDate : new Date().addDays(-7).asString(), 
     endDate: new Date().addDays(7).asString()
  }).val(new Date().asString()).trigger('change');
});​

ここで試してみることができます。あなたが引き出したと思われるドキュメントは、別のプラグイン、ここにあるjQueryUIDatepickerに関するものです。

于 2010-09-01T14:08:11.623 に答える
0

代わりにstartDateとendDateを使用する必要があると思います。

$('.date-pick').datePicker({ startDate: '-2D', endDate: '+2D' }).val(new Date().asString()).trigger('change');

つまり、ここで説明されているプラ​​グインを使用していると仮定します:kevinluck.com。これは私のローカルテストでうまくいきます。Kevinのサイトの例と類似しているため、このプラグインを使用していると思います。

于 2010-09-01T14:07:55.417 に答える