Я хочу отримати дату з datepicker щоразу, коли користувач вибирає дату в jQuery UI 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.
Повне посилання на jQuery UI DatePicker див. На веб- сайті http://docs.jquery.com/UI/Datepicker .
Спробуйте це, працює як шарм, дає дату, яку ви вибрали. onsubmit form спробуйте отримати це значення: -
var date = $("#scheduleDate").datepicker({ dateFormat: 'dd,MM,yyyy' }).val();
посилання на getdate: https://api.jqueryui.com/datepicker/#method-getDate
$("#datepicker").datepicker( 'getDate' );
Іноді з цим багато клопоту. В атрибуті значення datapicker data 28-06-2014, але datepicker show або сьогодні або нічого. Я вирішив це таким чином:
<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)) ?>" />
Я додав до вводу атрибута datapicker дані-значення, тому що якщо викликати jQuery (this) .val () OR jQuery (this) .attr ('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));
});
і це чудово працює =)