Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何动态更改dropDownList中复选框基的值_Php_Forms_Checkbox_Yii2 - Fatal编程技术网

Php 如何动态更改dropDownList中复选框基的值

Php 如何动态更改dropDownList中复选框基的值,php,forms,checkbox,yii2,Php,Forms,Checkbox,Yii2,我有一个表单,需要将复选框更改为基于选中或未选中的下拉列表int选择。我是PHP和Yii2的初学者 这是我的表格 <div class="npi-approval-review-form"> <?php if(!empty(Yii::$app->session->get('activity') && Yii::$app->session->get('activity')->need_signature == 'S'))$model

我有一个表单,需要将复选框更改为基于选中或未选中的下拉列表int选择。我是PHP和Yii2的初学者

这是我的表格

<div class="npi-approval-review-form">

<?php if(!empty(Yii::$app->session->get('activity') && Yii::$app->session->get('activity')->need_signature == 'S'))$model->sign = 1; ?><?php ?>

    <?php $form = ActiveForm::begin(); ?>
        <table>
            <tbody>

            <tr>
                <td>
                    <?php if ($model->type == TypeOrigin::Aprovação): ?>
                    <?= $form->field($model, 'status')->dropDownList(StatusReview::asArray(), ['prompt'=>StatusApproval::asArray()[$model->status]]); ?>
                    <?php endif; ?>

                    <?php if ($model->type == TypeOrigin::Revisão): ?>
                        <?= $form->field($model, 'status')->dropDownList(StatusReview::asArray(), ['prompt'=>StatusReview::asArray()[$model->status]]); ?>
                    <?php endif; ?>
                </td>

                <td>&nbsp;&nbsp;&nbsp;</td>

                <td>
                    <?= $form->field($model, 'type')->textInput(['value'=>TypeOrigin::asArray()[$model->type]
                    , 'readonly' => true, 'disabled' => 'true']);?>
                </td>
            </tr>
            </tbody>
        </table>

        <?= $form->field($model, 'conclusion')->textarea(['rows' => 5, 'maxlength' => true]) ?>

        <?= $form->field($model, 'sign')->checkBox(['value'=> $model->status == '2' ? '0' : '1']) ?>

        <div class="form-group">
            <?= Html::submitButton('Salvar', ['class' => 'btn btn-success']) ?>
        </div>

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

</div>

首先,最好为下拉列表和复选框设置id

要设置id,请选择添加选项参数:

....['prompt'=>StatusReview::asArray()[$model->status,'id'=>'select_id']
然后使用这个jqueryjs,您可以看到您的结果

<script>
$("#select_id").on('change',function(){ // if dropdown with id select_id changed.
var checkbox = $("#checkbox_id"); 
if($(this).val() === 'x'){ // set checkbox checked if option equal x
    checkbox.prop('checked', true);
}else{ // else remove checked.
    checkbox.prop('checked', false);
}
})

</script>

$(“#选择_id”)。在('change',function(){//如果id为select_id的下拉列表已更改。
var checkbox=$(“#checkbox_id”);
if($(this).val()==='x'){//如果选项等于x,则选中复选框
复选框.prop('checked',true);
}else{//else删除已选中。
复选框.prop('checked',false);
}
})

谢谢你的回答,也谢谢你试图帮助我,但这对我不起作用。我在代码中加入了javascript jquery alert(),但没有调用它。现在我正按照你的建议工作。