简体   繁体   English

如何基于yii2中的字段验证取消隐藏字段

[英]how to unhidden field base on the field validation in yii2

i have some field that set to hidden and i want to unhidden the field based on the other field validation. 我有一些字段设置为隐藏,并且我想根据其他字段验证来取消隐藏该字段。 how can i do this using jquery?? 我如何使用jQuery做到这一点?

here is my code: 这是我的代码:

<?php $form = ActiveForm::begin([
'id' => 'assign-form',
'enableAjaxValidation' => true,

]); ]); ?> ?>

<?= $form->field($volunteeringin, 'acId', [
    'template' => '{label} <div class="row"><div class="col-md-5">{input}{error}{hint}</div></div>',
])->dropDownList($model->getActivitySearch(),['prompt'=>'בחר פעילות לשיבוץ המתנדב'])->label('פעילויות לשיבוץ')?>

<?= $form->field($volunteeringin, 'passedTraining')->radioList([0=>'לא',1=>'כן'] ,['separator' => '</br>','class'=>'hidden','id'=>'demo'])->label('האם המתנדב עבר הכשרה?'); ?>


<div class="form-group">
    <?= Html::submitButton( 'שבץ מתנדב' ,['class' =>  'btn btn-success' ]) ?>
</div>

<?php ActiveForm::end(); ?>

i want to set the field "passedTraining" to unhidden base on the the above field validation. 我想根据上述字段验证将字段“ passedTraining”设置为未隐藏。 i try to use this function: 我尝试使用此功能:

   $('#fieldID').on('afterValidateAttribute', function(event, attribute, messages) {
        if(messages.length == 0){
            $('#demo').removeClass('hidden');
        }
    });

thanks eli 谢谢eli

I tested your code, and you have just a small error: 我测试了您的代码,您只有一个小错误:

<?php $form = ActiveForm::begin([
    'id' => 'assign-form',
    'enableAjaxValidation' => true,
    'enableClientValidation' => true, // enable this!
]); ?>

Hope this helps! 希望这可以帮助!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM