jQuery UI datepicker-очистка поля altField при очистке основного поля
У меня есть форма с меню выбора даты. Datepicker имеет пользовательский D/m / Y форматированный вход datepicker и скрытое поле altField для использования с БД.
если пользователь очищает текст в поле ввода, он также не очищает поле altField.
Я использую ниже JS, чтобы обойти эту проблему. Есть ли более правильный способ сделать это или это вполне приемлемо?
$("#datePicker").change(function(){
if ($(this).val().length < 1){
$("#dateAltField").val('');
}
});
3 ответов
то, что у вас есть, работает отлично и является допустимым подходом, альтернативно немного короче:
$("#datePicker").change(function(){
if (!$(this).val()) $("#dateAltField").val('');
});
по этому ошибка билета это не ошибка, это функция.
Я использую это как обходной путь:
var $input = $('#myInput');
$input.dateinput();
// This is the main part:
$input.on('change', function(){
if (!$input.val()) $input.data('datepicker').settings['altField'].val('');
});
обобщение решения г-на Лониского и исправление небольшого недостатка:
$("body").on("change",".hasDatepicker",function(e) {
if ( !$(this).val() ) {
$( $(this).data("datepicker").settings["altField"] ).val("");
}
});