242

私は非常に単純なjQuery Datepickerカレンダーを持っています:

$(document).ready(function(){
    $("#date_pretty").datepicker({ 
    });
});

そしてもちろんHTMLで...

<input type="text" size="10" value="" id="date_pretty"/>

ユーザーがカレンダーを表示すると、今日の日付がうまく強調表示されますが、ユーザーが何もせずに、ページの読み込み時にテキストボックス自体に今日の日付を事前入力するにはどうすればよいですか? 99% の確率で、今日の日付のデフォルトが希望どおりになります。

4

19 に答える 19

574

更新: Chrome では機能しなくなったという報告があります。

これは簡潔で、仕事をします(廃止):

$(".date-pick").datepicker('setDate', new Date());

これは簡潔ではありません。チェーンを利用すると、chrome で動作するようになります (2019-06-04):

$(".date-pick").datepicker().datepicker('setDate', new Date());
于 2010-02-24T11:38:05.590 に答える
227

最初に datepicker() を呼び出してから、'setDate' を使用して現在の日付を取得する必要があります。

$(".date-pick").datepicker();
$(".date-pick").datepicker("setDate", new Date());

または、この回答のコメントに記載されているように、日付ピッカーの初期化後に setDate メソッド呼び出しをチェーンします

$('.date-pick').datepicker({ /* optional option parameters... */ })
               .datepicker("setDate", new Date());

だけでは機能しません

$(".date-pick").datepicker("setDate", new Date());

:許容される setDate パラメータについては、こちらで説明しています

于 2012-01-20T17:16:08.410 に答える
72
var myDate = new Date();
var prettyDate =(myDate.getMonth()+1) + '/' + myDate.getDate() + '/' +
        myDate.getFullYear();
$("#date_pretty").val(prettyDate);

うまくいくように見えましたが、もっと良い方法があるかもしれません..

于 2008-10-24T14:04:47.230 に答える
59

このsetDate()メソッドは日付を設定し、関連するコントロールを更新します。方法は次のとおりです。

$("#datepicker1").datepicker({
    dateFormat: "yy-mm-dd"
}).datepicker("setDate", "0");

デモ

ドキュメントに記載されているようにsetDate()、JavaScriptのDateオブジェクト、数値、または文字列を喜んで受け入れます。

新しい日付は、Dateオブジェクトまたは現在の日付形式の文字列(例: '01/26/2009')、今日からの日数(例:+7)、または値と期間の文字列('y'年、'm'は月、'w'は週、'd'は日、たとえば'+ 1m + 7d')、またはnullの場合は選択した日付をクリアします。

defaultDateご参考までに、コンストラクターでプロパティを設定しても、関連するコントロールは更新されません。

于 2012-08-05T19:23:05.157 に答える
26

今日に設定:

$('#date_pretty').datepicker('setDate', '+0');

昨日に設定:

$('#date_pretty').datepicker('setDate', '-1');

以下同様に今日の日付の前後の任意の日数で。

jQuery UI›メソッド›setDateを参照してください。

于 2012-06-23T18:38:34.433 に答える
9

解決策は次のとおりです。

$(document).ready(function(){
    $("#date_pretty").datepicker({ 
    });
    var myDate = new Date();
    var month = myDate.getMonth() + 1;
    var prettyDate = month + '/' + myDate.getDate() + '/' + myDate.getFullYear();
    $("#date_pretty").val(prettyDate);
});

ありがとうグレイゴースト!

于 2008-10-24T14:25:17.717 に答える
7

これは私のために働いた。

$('#inputName')
  .datepicker()
  .datepicker('setDate', new Date());
于 2013-04-08T03:44:07.847 に答える
6

このコードは、datepicker の形式を使用することを保証します。

$('#date-selector').datepicker('setDate', new Date());

フォーマットを再適用する必要はありません。datepicker の初期化時に事前定義された datepicker を使用します (割り当てた場合!) ;)

于 2010-08-18T18:58:28.480 に答える
5

David K Egghead のコードは完璧に機能しました。ありがとうございます!

$(".date-pick").datepicker(); 
$(".date-pick").datepicker("setDate", new Date()); 

私はそれを少しトリミングすることもできましたが、それもうまくいきました:

$(".date-pick").datepicker().datepicker("setDate", new Date()); 
于 2012-10-23T23:37:28.790 に答える
4
$('input[name*="date"]').datepicker({
        dateFormat: 'dd-mm-yy',
        changeMonth: true,
        changeYear: true,
        beforeShow: function(input, instance) { 
            $(input).datepicker('setDate', new Date());
        }
    });
于 2011-02-16T08:16:30.027 に答える
2

ロード時に日付ピッカーを特定のデフォルト時間(私の場合は現在の日付)に設定し、さらに別の日付を選択するオプションを設定するには、構文は次のとおりです。

    $(function() { 
        // initialize the datapicker
        $("#date").datepicker();

        // set the time
        var currentDate = new Date();
        $("#date").datepicker("setDate",currentDate);

    //  set the options for the button  
        $("#date").datepicker("option",{
            dateFormat: 'dd/mm',
            showOn: "button",
          // whatever option Or event you want 
        });
  });
于 2012-07-10T22:52:16.880 に答える
1

2セントを追加すると思っただけです。ピッカーは追加/更新フォームで使用されているため、既存のレコードを編集する場合はデータベースからの日付を表示する必要があり、そうでない場合は今日の日付を表示する必要がありました。以下は私にとってはうまくいきます:

    $( "#datepicker" ).datepicker();
    <?php if (!empty($oneEVENT['start_ts'])): ?>
       $( "#datepicker" ).datepicker( "setDate", "<?php echo $startDATE; ?>" );
    <? else: ?>
       $("#datepicker").datepicker('setDate', new Date());   
    <?php endif; ?>
  });
于 2014-01-08T14:25:21.643 に答える
1

To pre-populate date, first you have to initialise datepicker, then pass setDate parameter value.

$("#date_pretty").datepicker().datepicker("setDate", new Date());
于 2015-07-05T10:58:02.987 に答える
0
var prettyDate = $.datepicker.formatDate('dd-M-yy', new Date());
alert(prettyDate);

必要なコントロールにprettyDateを割り当てます。

于 2011-01-17T15:24:56.290 に答える
0

これを試して

$(this).datepicker("destroy").datepicker({
            changeMonth: false, changeYear: false,defaultDate:new Date(), dateFormat: "dd-mm-yy",  showOn: "focus", yearRange: "-5:+10"
        }).focus();
于 2015-02-26T15:08:44.883 に答える
-1
$(function()
{
$('.date-pick').datePicker().val(new Date().asString()).trigger('change');
});

ソース: http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/datePickerDefaultToday.html

于 2008-12-29T15:23:54.803 に答える