大家早上好。 我正在一个项目上,我必须解决一个问题。
如您所见,如果我们尝试单击“ Prossimo步骤”(下一步),则“ formulario”确实是一个强制变量,结果如下:
他说选择一个表格继续。 但是,如果我们选择一种形式,则错误仍然存在:所以我认为问题出在更改功能上,但是当我修改代码时,代码从未更改。
这是函数:
$('#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');
答案 0 :(得分:1)
您将on更改传递给父元素而不是select元素。将此添加到您的代码中
$('#formulario').on('change', function() {
$(this).parent().removeClass('error-control-group');
});