Обработка jQuery Проверка формы для значения, заполненного из выбора DropMenu - PullRequest
0 голосов
/ 08 января 2020

У меня есть форма, на которой я хочу выполнить проверку. Проблема, с которой я сталкиваюсь, заключается в том, что, если я вручную ввожу значение, мой код подхватывает его. Однако, если я заполняю значение, скажем, щелчком в раскрывающемся меню, мой код не регистрирует поле, в которое я поместил значение как имеющее значение. Как я могу справиться с обоими сценариями ios? Другими словами, если в поле формы есть значение, оно должно быть действительным. Это код, который у меня есть в настоящее время (я проверяю 3 различных поля формы (#selection, #schedule, # repeat-every), чтобы убедиться, что значения существуют до того, как будет включена кнопка «Сохранить». Обратите внимание, что первое значение должно существовать, и один из двух других должен иметь значение для того, чтобы кнопка сохранения была включена.Я думаю, проблема связана с тем, что на самом деле вызывает change() для запуска:

$(document).ready(function() {
  $('.save-button').attr('disabled', true);
  $('#selection, #schedule, #repeat-every').change(function() {
    const selectionVal = $('#selection').val();
    const scheduleVal = $('#schedule').val();
    const repeatEveryVal = $('#repeat-every').val();
    if (selectionVal == "" || (scheduleVal == "" && repeatEveryVal == "")) {
      $('.save-button').attr('disabled', true);
    } else {
      $('.save-button').attr('disabled', false);
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="form-group">
  <label>Job Name</label>
  <input type="text" class="job-name form-control" id="selection">
</div>

<div class="form-group" id="schedule-div">
  <div><label for="meeting-time">Schedule</label></div>
  <input type="datetime-local" class="job-schedule form-control" id="schedule">
</div>

<div class="form-group" id="repeat-every-div">
  <label>Repeat Every</label>
  <input type="text" class="job-repeat-every form-control" data-toggle="modal" id="repeat-every" data-target="#scheduleModal">
</div>

    <input type="button" class="save-button" value="save" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...