У меня есть форма, на которой я хочу выполнить проверку. Проблема, с которой я сталкиваюсь, заключается в том, что, если я вручную ввожу значение, мой код подхватывает его. Однако, если я заполняю значение, скажем, щелчком в раскрывающемся меню, мой код не регистрирует поле, в которое я поместил значение как имеющее значение. Как я могу справиться с обоими сценариями 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" />