yii2 中的复选框列表
CheckBox List in yii2
我有这个:
<?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() 函数 returns:
<?php print_r($model->my_getStatusOptions()); ?>
Array ( [0] => value0 [1] => value1 [2] => value2 [3] => value3 [4] => value4 [5] => value5 )
我需要根据选中的复选框在数据库中搜索,我遇到了这个问题:
选择多个 "status" 复选框后,当我按下提交按钮时,只有第一个选中的复选框保持选中状态。
在相同的表单中,我有另一个复选框,如下所示,当按下提交按钮时,复选框保持其值(checked/unchecked)
<?= $form->field($model, 'online')->checkbox() ?>
您需要像下面这样使用activeCheckboxList
:
<?= Html::activeCheckboxList($model, 'status', $model->my_getStatusOptions())
我有这个:
<?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() 函数 returns:
<?php print_r($model->my_getStatusOptions()); ?>
Array ( [0] => value0 [1] => value1 [2] => value2 [3] => value3 [4] => value4 [5] => value5 )
我需要根据选中的复选框在数据库中搜索,我遇到了这个问题: 选择多个 "status" 复选框后,当我按下提交按钮时,只有第一个选中的复选框保持选中状态。
在相同的表单中,我有另一个复选框,如下所示,当按下提交按钮时,复选框保持其值(checked/unchecked)
<?= $form->field($model, 'online')->checkbox() ?>
您需要像下面这样使用activeCheckboxList
:
<?= Html::activeCheckboxList($model, 'status', $model->my_getStatusOptions())