yii2中的复选框列表

问题描述 投票:0回答:1

我有这个。

<?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() ?>
php model-view-controller yii2
1个回答
0
投票

你需要使用 activeCheckboxList 像以下。

<?= Html::activeCheckboxList($model, 'status', $model->my_getStatusOptions())
© www.soinside.com 2019 - 2024. All rights reserved.