jQueryUIのdatepickerから日付を取得する方法


85

ユーザーがjQueryUI datepickerで日付を選択し、フォームのボタンをクリックするたびに、datepickerから日付を取得したいと思います。

彼らが選んだ日付の日、月、年を取得する必要があります。jQuery UIから日付を取得するにはどうすればよいですか?

回答:


130

使用する

var jsDate = $('#your_datepicker_id').datepicker('getDate');
if (jsDate !== null) { // if any date selected in datepicker
    jsDate instanceof Date; // -> true
    jsDate.getDate();
    jsDate.getMonth();
    jsDate.getFullYear();
}

それはDateデータ型で任意のメソッドを実行する方法ですか?つまり、getDate、getMonth、getFullYearなどですか?
Ajeeb.KP

日付ピッカー上のgetDateを呼び出した後、あなたは、その後のgetFullYearなどのgetDate、getMonthを呼び出すために使用することができますJS日付()オブジェクトを取得します
CoolEsh

jsDate変数を出力すると、次のようになります。MonAug 24 2020 00:00:00 GMT + 0530(インド標準時)これで、jsDateにgetDate、getMonth、getFullYearメソッドを適用できます。
Laveena

87

getDate関数を使用して日付を取得できます。

$("#datepicker").datepicker( 'getDate' );

値はJavaScriptのDateオブジェクトとして返されます。

ユーザーが日付を選択するときにこの値を使用する場合は、onSelectイベントを使用できます。

$("#datepicker").datepicker({
   onSelect: function(dateText, inst) { 
      var dateAsString = dateText; //the first parameter of this function
      var dateAsObject = $(this).datepicker( 'getDate' ); //the getDate method
   }
});

この場合、最初のパラメータは、選択した日付を文字列として指定したものです。parseDateを使用して、JSDateオブジェクトに変換します。

参照http://docs.jquery.com/UI/DatepickerをフルjQueryのUI日付ピッカーの参考のために。


日付オブジェクトのグローバル変数が必要ないため、最良の解決策
Rashid

24

これを試してみてください。魅力のように機能し、選択した日付を表示します。onsubmitフォームはこの値を取得しようとします:-

var date = $("#scheduleDate").datepicker({ dateFormat: 'dd,MM,yyyy' }).val();

ここで参照



1

時々それで多くのトラブル。データピッカーの属性値ではデータは2014年6月28日ですが、日付ピッカーは表示されているか、今日か、何もありません。私はそのようにそれを決めました:

<input type="text" class="form-control datepicker" data-value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" />

jQuery(this).val()またはjQuery(this).attr( 'value')を呼び出すと何も機能しないため、datapicker属性data-valueの入力に追加しました。各データピッカーをサイクルで初期化し、属性data-valueからその値を取得することにしました。

 $("form .datepicker").each(function() {
        var time = jQuery(this).data('value');
        time = time.split('-');
        $(this).datepicker('setDate', new Date(time[2], time[1], time[0], 0, 0, 0));
    });

そしてそれはうまくいきます=)


これは、日付形式がdmYの場合にのみ機能します。mdYまたはその他の形式を使用している場合は、問題が発生します。
Mohamed Nuur

0

NamingExceptionの答えは私のために働いた。私が使用した以外

var date = $("#date").dtpicker({ dateFormat: 'dd,MM,yyyy' }).val()

datepicker動作しませんでしたが、動作しましdtpickerた。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.