javascript - 在我选择一个值后,更改问题仍然存在

标签 javascript jquery onchange

大家早上好。 我正在做一个项目,我必须解决一个问题。

enter image description here

如您所见,如果我们尝试单击“Prossimo step”(下一步),“formulario”确实是一个强制变量,结果如下:

enter image description here

他说选择一个表格继续。 但是,如果我们选择一种形式,错误仍然存​​在:

enter image description here

所以我认为问题出在更改函数上,但是当我修改代码时,代码并没有改变。

这是函数:

$('#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');

最佳答案

您正在将 on change 传递给父元素而不是 select 元素。将其添加到您的代码中

$('#formulario').on('change', function() {
    $(this).parent().removeClass('error-control-group');
});

关于javascript - 在我选择一个值后,更改问题仍然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52832623/

相关文章:

jquery - jqGrid 不向 url 添加搜索参数

javascript - 语言识别和自动文本框方向切换

javascript - Chrome td 标签中 Html-form-elements 的 Onchange 事件

javascript - 我如何在 CRM 中根据日期而不是时间记录 'fetchXml' ?

javascript - 在 javascript 中选择正确的形式

javascript - 网页包没有工作

javascript - 我怎样才能得到一个动态模式来映射我的卡片列表?

javascript - 如何使用 lodash/underscorejs 拆分具有特定条件的对象的 javascript 数组

javascript - 什么是 SetInterval 的替代方案?

javascript - JavaScript 或 Jquery 中的 onchange()