Доброе утро всем. Я работаю над проектом, и мне нужно решить проблему.
как вы можете видеть, «formulario» действительно является обязательной переменной, если мы попытаемся щелкнуть «Шаг Prossimo» (следующий шаг), это будет результат:
он сказал, выберите форму, чтобы продолжить. Но если мы выбрали форму, ошибка не исчезнет:
Итак, я подумал, что проблема в функции изменения, но когда я изменил код, он не изменился.
это функция:
$('#first-step-button').on('click', function(e) {
e.preventDefault();
if (!$('#formulario').val()) {
$('select#formulario').parent().addClass('error-control-group').on('change', function() { $(this).removeClass('error-control-group') });
return false;
} else if (!$('#variable').val()){
$('select#variable').parent().addClass('error-control-group').on('change', function() { $(this).removeClass('error-control-group') });
return false;
}
$('.collapse').collapse("show");
$('#first-step-button').attr('disabled', true);
$('.row .second-step').removeClass('second-step');
});Это HTML-код
<div class = "form-group col-xs-12 col-md-3">
<div class = "col-xs-12">
<label for = "formulario" class = "control-label no-padding-right bolder blue"><?= $this->translate('Select form to test on'); ?>: *</label>
<select class = "chosen-select form-control" name = "formulario" id = "formulario" data-placeholder = "<?= $this->translate('Select the form'); ?>">
<option></option>
<?php foreach($this->formulario_list as $f): ?>
<option <?php if ($f->formulario == $this->formulario): ?> selected <?php endif; ?> value = "<?= $f->formulario; ?>"><?= $this->translate($f->formulario); ?> - <?= $this->translate($f->titolo); ?></option>
<?php endforeach; ?>
</select>
<p class = "error-msg alert alert-danger"><i class = "fa fa-warning"></i> <?= $this->translate('Select a form to continue'); ?></p>
</div>
</div>PHP
$deModel = $this->getModelObject('Datawide\Model\DataExtractionTable', 'data_extraction');
$formularioList = $deModel->getListaFormulari($categorieUtente);
$formularioListArray = $deModel->getListaFormulari($categorieUtente)->toArray();
$view = new ViewModel(array(
'normal_user' => $checkUE['normal_user'],
'formulario_list' => $formularioList,
'formulario_list_array' => $formularioListArray,
'var_list' => $varList
));
return $view;
if ($this->getRequest()->isPost()){
$formulario = $this->getRequest()->getPost('formulario');
This is the html code Извините, но я вижу PHP в вашем html. Как я уже сказал, публикуйте только СООТВЕТСТВУЮЩИЙ код, создайте минимальный пример вашей проблемы, приложите некоторые усилия, чтобы люди помогли вам. Также вы не показываете PHP, где возникает ошибка.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


вы передаете изменение родительскому элементу, а не элементу select. вместо этого добавьте это в свой код
$('#formulario').on('change', function() {
$(this).parent().removeClass('error-control-group');
});
Пожалуйста, покажите свой полный соответствующий код и попробуйте создать пример, если можете