Я хочу получать дату из 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.
Если вы хотите использовать это значение, когда пользователь выбирает дату, вы можете использовать событие 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.
См http://docs.jquery.com/UI/Datepicker для полной ссылки JQuery UI DatePicker.
Попробуйте это, работает как шарм, показывает дату, которую вы выбрали. форма onsubmit попытайтесь получить это значение: -
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 показывает или сегодня, или ничего. Я так решил:
<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)) ?>" />
Я добавил к вводу data-value атрибута datapicker, потому что при вызове jQuery (this) .val () ИЛИ 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));
});
и он отлично работает =)