我有这个。
<?php $form = ActiveForm::begin([
'id' => 'search-form',
'method' => 'get',
'action' => ['/directory/index'],
'options' => ['class' => 'form-horizontal'],
'enableAjaxValidation' => false,
'enableClientValidation' => true,
'validateOnBlur' => false,
]); ?>
.........................................................
<?php foreach ($model->my_getStatusOptions() as $value => $title): ?>
<label class="custom-control custom-checkbox">
<?= Html::activeCheckbox($model, 'status', [
'class' => 'custom-control-input',
'value' => $value,
'label' => false,
'uncheck' => false,
]) ?>
<span class="custom-control-label">
<?= $title ?>
</span>
</label>
<?php endforeach; ?>
........................................................
<?php ActiveForm::end(); ?>
这就是my_getStatusOptions()函数返回的内容。
<?php print_r($model->my_getStatusOptions()); ?>
Array ( [0] => value0 [1] => value1 [2] => value2 [3] => value3 [4] => value4 [5] => value5 )
我需要根据选中的复选框在数据库中进行搜索,我遇到了这样的问题:在选择多个 "状态 "复选框后,当我按下提交按钮时,只有第一个选中的复选框保持选中状态。
在同一个表单中,我有另一个像下面这样的复选框,当按下提交按钮时,复选框保持其值(checkunchecked)
<?= $form->field($model, 'online')->checkbox() ?>
你需要使用 activeCheckboxList
像以下。
<?= Html::activeCheckboxList($model, 'status', $model->my_getStatusOptions())