DateUpicker пользовательского интерфейса jQuery - очистка altField после очистки основного поля - PullRequest
10 голосов
/ 13 октября 2010

У меня есть форма с указателем даты.DatePicker имеет пользовательский ввод datepicker в формате d / m / Y и скрытый altField для использования с БД.

Если пользователь очищает текст в поле ввода, он не очищаетсятакже altField.

Я использую приведенный ниже JS, чтобы обойти эту проблему.Есть ли более правильный способ сделать это или это совершенно приемлемо?

$("#datePicker").change(function(){
    if ($(this).val().length < 1){
        $("#dateAltField").val('');
    }
});

Ответы [ 3 ]

15 голосов
/ 13 октября 2010

То, что у вас есть, работает отлично и является правильным подходом, или немного короче:

$("#datePicker").change(function(){
  if (!$(this).val()) $("#dateAltField").val('');
});
2 голосов
/ 25 августа 2015

В соответствии с этим билетом об ошибке это не ошибка, это особенность.

Я использую это как обходной путь:

var $input = $('#myInput');
$input.dateinput();

// This is the main part:
$input.on('change', function(){
    if (!$input.val()) $input.data('datepicker').settings['altField'].val('');
});
1 голос
/ 24 сентября 2018

Обобщение решения г-на Лохниски и небольшая ошибка:

$("body").on("change",".hasDatepicker",function(e) {
   if ( !$(this).val() ) {
      $( $(this).data("datepicker").settings["altField"] ).val("");
   }
});
...