it-swarm.com.ru

Как получить дату из jQuery UI datepicker

Я хочу получать дату из datepicker всякий раз, когда пользователь выбирает дату в jQuery UI datepicker и нажимает кнопку в форме.

ну, мне нужно получить день, месяц и год даты, которую они выбирают. Как я могу получить дату из jQuery UI?

78
user605334

Использование

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();
}
113
CoolEsh

Вы можете получить дату, используя функцию 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.

См. http://docs.jquery.com/UI/Datepicker для получения полной ссылки на JQuery UI DatePicker.

81
Vivek

Попробуйте это, работает как шарм, дает дату, которую вы выбрали . Onsubmit форма попытаться получить это значение: -

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

Ссылка здесь

18
NameNotFoundException

ссылка на getdate: http://docs.jquery.com/UI/Datepicker#method-getDate

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

Иногда много неприятностей с этим. В атрибуте значение данных datapicker равно 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)) ?>" />

Я добавил на вход атрибут данных значение-значение, потому что если вызвать jQuery (это) .val () OR jQuery (это) .attr ('значение') - ничего не работает , Я решил инициализировать в цикле каждый сборщик данных и взять его значение из атрибута 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));
    });

и это прекрасно работает =)

1
realmag777

Ответ NamingException сработал для меня. За исключением того, что я использовал

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

datepicker не работал, но dtpicker работал. 

0
evobe