Php 如何动态更改dropDownList中复选框基的值
我有一个表单,需要将复选框更改为基于选中或未选中的下拉列表int选择。我是PHP和Yii2的初学者 这是我的表格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
<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> </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(),但没有调用它。现在我正按照你的建议工作。