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

63

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

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

6 ответов

94
Лучший ответ

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

$( your_datepicker_id ).datepicker( "getDate" )
  • 0
    Это способ запустить любой метод для типа данных Date? Я имею в виду, getDate, getMonth, getFullYear и т. Д.?
  • 0
    После вызова getDate для datepicker вы получите объект js Date (), который затем можно использовать для вызова getDate, getMonth, getFullYear и т. Д.
Показать ещё 1 комментарий
72

Вы можете получить дату с помощью функции 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
   }
});

Первым параметром является в этом случае выбранная Date as String. Используйте parseDate, чтобы преобразовать его в объект JS Date.

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

  • 0
    лучшее решение, потому что глобальная переменная объекта даты не требуется
14

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

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

Ссылка здесь

  • 0
    Как вы сказали, работает как шарм :)
4

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

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

Ответ NamingException работал у меня. Кроме того, что я использовал

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

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

0

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

Я добавил к вводу значения данных атрибута datapicker, потому что если вызов jQuery (this).val() ИЛИ jQuery (this).attr('value') - ничего не работает. Я решил запустить цикл в каждом datapicker и взять его значение из значения данных атрибута:

 $("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));
    });

и работает отлично =)

  • 0
    это будет работать только в том случае, если ваш формат даты dmY .. если у вас есть mdY или любой другой формат, вы попали!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню