Есть ли способ получить обновленную дату и время при изменении ввода текста?
У меня есть указатель даты и кнопка. Пользователь выбирает дату и время, затем нажимает кнопку. Выбранная дата и время отображаются в предупреждении.
https://jsfiddle.net/jeffxiao/rfzm8pyt/
$(function() {
$('#datetimepicker1').datetimepicker();
$('#buttonGo').click(function() {
var moment = $("#datetimepicker1").datetimepicker("date");
alert(moment.format('MMMM Do YYYY, h:mm:ss a'));
})
});
Вопрос в том, если пользователь изменяет текст для ввода вместо выбора из datetimepicker, есть ли способ получить обновленное datetime (в тексте)?
Мой тест показывает, что по умолчанию извлекается выбранное в средстве выбора, а НЕ обновленный текст в текстовом поле.
2 ответа
Это помогает? Установите идентификатор для вашего ввода, чтобы получить данные.
https://jsfiddle.net/djibe89/kx1rnbm9/
$(function() {
$('#datetimepicker1').datetimepicker();
$('#buttonGo').click(function() {
var time = $("#input-datetimepicker").val();
alert(time);
})
});
У меня была похожая проблема, и я обнаружил, что с помощью viewDate
вместо date
решил проблему. Таким образом, ваш пример кода будет обновлен до
$(function() {
$('#datetimepicker1').datetimepicker();
$('#buttonGo').click(function() {
var moment = $("#datetimepicker1").datetimepicker("viewDate");
alert(moment.format('MMMM Do YYYY, h:mm:ss a'));
})
});
Изменить: При дальнейшем расследовании я обнаружил, что выше, кажется, работает, только если у вас нет useCurrent: false
задавать. Если useCurrent: false
устанавливается, тогда viewDate, по-видимому, возвращает время инициализации DateTimePicker.