Jquery 在Select2 yii2中更改选定值时显示输入字段

Jquery 在Select2 yii2中更改选定值时显示输入字段,jquery,postgresql,yii2,jquery-select2,selected,Jquery,Postgresql,Yii2,Jquery Select2,Selected,这是我的表格代码 <?=$form->field($model, 'role_id')->widget(Select2::classname(), [ 'data' => ArrayHelper::map(RoleUser::find()->all(),'id','name'), 'options' => ['placeholder' => 'Select R

这是我的表格代码

    <?=$form->field($model, 'role_id')->widget(Select2::classname(),
            [
                'data' => ArrayHelper::map(RoleUser::find()->all(),'id','name'),
                'options' => ['placeholder' => 'Select Role'],
                'pluginOptions' => [
                    'allowClear' => true,
                    // 'minimumInputLength' => 1,
                ],
            ]);
        ?>

        <?=$form->field($model, 'group')->widget(Select2::classname(),
            [
                'data' => ArrayHelper::map(Group::find()->all(),'group','group_name'),
                'options' => ['placeholder' => 'Select Group 1'],
                'pluginOptions' => [
                    'allowClear' => true,
                    'minimumInputLength' => 1,
                ],
            ]);
        ?>
        <div id="group2">
        <?=$form->field($model, 'group_id2')->widget(Select2::classname(),
            [
                'data' => ArrayHelper::map(Group::find()->all(),'group_id','group_name'),
                'options' => ['placeholder' => 'Select Toko 2'],
                'pluginOptions' => [
                    'allowClear' => true,
                    'minimumInputLength' => 1,
                ],
            ]);
        ?>
    </div>           
        <div id="group3">
        <?=$form->field($model, 'group_id3')->widget(Select2::classname(),
            [
                'data' => ArrayHelper::map(Group::find()->all(),'group_id','group_name'),
                'options' => ['placeholder' => 'Select Toko 3'],
                'id' => 'group_name3',
                'pluginOptions' => [
                    'allowClear' => true,
                    'minimumInputLength' => 1,
                ],
            ]);
        ?>
    </div>

    <?php
    $script = <<< JS

    $(document).ready(function() {
    $('#email').focus();


    $('#group2').hide();
    $('#group3').hide();

    $('#s2id_register-form-role_id').on('change',function(){ // name is the id of select-box 
    if($(this).val() == 'admin_group'){ // check selected value is equal to admin_group 
    $('#group2, #group3').show();
    } // if yes then show both div 
    });
});

    JS;
    $this->registerJs($script);
    ?>

我想显示输入表单组2和组3,如果角色用户上唯一选择的值是admin\u group。 因此,在defaut表单中,它应该只显示role\u user和group1表单。有人能帮我吗?谢谢


我已经编辑了javascript。但它仍然不起作用。

最初
display:none用于
表单组2和组3
,然后使用jquery showthem@AlivetoDie我不知道在更改角色用户值后如何显示group2和group3您可以这样做:-
$(document).ready(function(){$('#name')。on('change',function(){//name是选择框的id if($(this).val()
@AlivetoDie我已经更改了javascript,但它仍然不起作用。当我将角色用户设置为admin\u group时,Group2和group3仍然不显示。谢谢。您需要显示在浏览器上呈现的确切html,因为此代码段很难找出每个部分的id以及如何隐藏它们。顺便问一下,您是否在我在注释中提供给您的脚本代码之前添加了jQuery库?