ユーザーがjQuery UIのdatepickerで日付を選択し、フォームのボタンをクリックするたびに、datepickerから日付を取得したい。
まあ、私は彼らが選択した日付の日、月、年を取得する必要があります。 jQuery UIから日付を取得するにはどうすればよいですか?
つかいます
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();
}
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を使用して、JS Dateオブジェクトに変換します。
JQuery UI DatePickerの完全なリファレンスについては、 http://docs.jquery.com/UI/Datepicker を参照してください。
これを試してみてください。チャームのように機能し、選択した日付が表示されます。 onsubmitフォームはこの値を取得しようとします:-
var date = $("#scheduleDate").datepicker({ dateFormat: 'dd,MM,yyyy' }).val();
getdateへのリンク: http://docs.jquery.com/UI/Datepicker#method-getDate
$("#datepicker").datepicker( 'getDate' );
時々それで多くのトラブル。 datapickerデータの属性値は28-06-2014ですが、datepickerはshowまたはtodayまたはnothingです。私はそのような方法でそれを決めました:
<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() OR jQuery(this).attr( 'value ')-何も機能しません。各データピッカーのサイクルでinitを決定し、属性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));
});
そしてそれはうまく動作します=)
NamingExceptionの答えは私のために働いた。使用した以外
var date = $("#date").dtpicker({ dateFormat: 'dd,MM,yyyy' }).val()
datepicker
は機能しませんでしたが、dtpicker
は機能しました。