Как я могу динамически изменить значение базы флажка в dropDownList - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть форма и необходимость поменять флажок на отмеченный или непроверенный на основе выбора int dropDownList. Я новичок в 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>

1 Ответ

0 голосов
/ 04 ноября 2019

Прежде всего, лучше установить id для вашего выпадающего списка и вашего флажка,

, чтобы установить id для выбора, добавьте его в параметры параметров:

....['prompt'=>StatusReview::asArray()[$model->status,'id'=>'select_id']

затем с помощью этого jquery jsВы можете увидеть свой результат.

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...