bootstrap-datepicker форматирование даты outpt

#javascript #jquery #bootstrap-datepicker

#javascript #jquery #bootstrap-datepicker

Вопрос:

Я использую этот код, чтобы получить дату из bootstrap-datepicker. Я нашел несколько вопросов с одной и той же проблемой, и ни один из них, похоже, не работает для меня. Я не уверен, чего мне не хватает.

 <div id="dateCal"></div>
 

Это мой jQuery

 $input = $("#dateCal");

$input.datepicker({
        format: 'dd-mm-yyyy'
    })
    .on('changeDate', function(e){
        console.log(e.date);
    });
 

и вывод на консоль mu выглядит следующим образом:

 Sat Jun 21 2014 00:00:00 GMT-0400 (EDT) 
 

Что я делаю не так? Мне нужно, чтобы e.date выводился при установке параметра форматирования.

Комментарии:

1. И $(e).val() ? Если e.date это объект Date, он будет преобразован с использованием локальных настроек браузера при отображении…

2. { console.log( $(e).val()); } — выдает неперехваченную ошибку типа: не удается прочитать свойство ‘toLowerCase’ из undefined … так что возвращает udnefined

Ответ №1:

При обработке событий в javascript (и jQuery или bootstrap) «e», передаваемый функции, является объектом события. Чтение e.date может относиться к дате и времени события. Вы хотите читать this.value , где это относится к элементу HTML, связанному с событием, или, в данном случае, к вашему полю даты.

Сделайте вместо этого:

 console.log(this.value);

Комментарии:

1. Спасибо за это. Когда я это делаю, я получаю значение даты, но форматирование по-прежнему неверно. Я получаю 26.06.2014, в то время как мне нужно 06-26-2014.

2. Я предполагаю, что вам нужно использовать DateFormat вместо format . Вот пример его работы в jsFiddle: jsfiddle.net/a63P6/1

3. Спасибо за предложение. Однако это не тот же datepicker, и я решил проблему. Я опубликую позже, что я сделал.

4. Хорошая работа! Я использую его в .on('changeDate', function(e){ }) порядке