yii2:如何为_form.php中的选中或未选中复选框添加if

时间:2016-06-07 05:18:44

标签: yii yii2

我想在_formCreate.php中添加if或else复选框

这是我的复选框:

   <div class="col-lg-6 height3">
         <p class="col-lg-8">سرگرمی</p>
<?= $form->field($model, 'c2')->input('checkbox', ['id' => '', 'value'=> '2', 'class' => 'col-lg-4 chb'])->label('') ?>

    </div>
            <div class="col-lg-6 height3">
                <p class="col-lg-8">خدماتی</p>
<?= $form->field($model, 'c3')->input('checkbox', ['id' => '', 'value' => '3', 'class' => 'col-lg-4 chb'])->label('') ?>

            </div>

我在这个表格中$checkBox有这个数据:

array(3) { [0]=> array(1) { ["project_type_id"]=> string(1) "2" } [1]=> array(1) { ["project_type_id"]=> string(1) "3" } [2]=> array(1) { ["project_type_id"]=> string(1) "5" } } 

如何为<?= $form->field...添加if并使用我的数组检查并选中复选框!

2 个答案:

答案 0 :(得分:1)

如果我说得对,那么你可以在视图的开头为复选框(模型&#39; s属性)编写逻辑。 例如,如果您的模型的名称是“Yii”,那么应该自动选中复选框,在代码中我会这样写:

<?php

/* @var $this yii\web\View */
/* @var $model SomeModel */

if($model->name == 'Yii') $model->c2 = true;

?>

然后在表格中:

<div class="col-lg-6 height3">
  <p class="col-lg-8">سرگرمی</p>
    <?= $form->field($model, 'c2')->checkbox()->label('') ?>
</div>
<div class="col-lg-6 height3">
  <p class="col-lg-8">خدماتی</p>
    <?= $form->field($model, 'c3')->checkbox()->label('') ?>
</div>

答案 1 :(得分:0)

如果模型属性设置和模型属性值==复选框值,则复选框将被选中

<?php 
if(in_array('2', ArrayHelper::map($checkBox, 'project_type_id', 'project_type_id'))) $model->c2 = '2';
if(in_array('3', ArrayHelper::map($checkBox, 'project_type_id', 'project_type_id'))) $model->c3 = '3';
?>

<?= $form->field($model, 'c2')->input('checkbox', [
    'id' => '', 
    'value' => '2', 
    'class' => 'col-lg-4 chb'
])->label('') ?>

<?= $form->field($model, 'c3')->input('checkbox', [
    'id' => '', 
    'value' => '3', 
    'class' => 'col-lg-4 chb'
])->label('') ?>