2016-06-27 70 views
0

讓我們直接在代碼中交談。Yii2複選框列表,未勾選模型值

<div class="checkbox-list"> 
       <?php 
       var_dump ($model->categoriesIds); // [1,2] so database has two categries. 
       $cats=Category::find()->all(); foreach($cats as $i=>$category){?> 
        <?= $form 
         ->field($model, 'categoriesIds[]') 
         ->checkbox([ 
          'label'=>$category->name, 
          'value' => $category->id 
         ]) 
         ->label(false) 
        ?> 
       <?php } if(count ($cats)==0){ echo '<li>No Categories found.</li>';} ?> 
      </div> 

我有類別的值,但它不檢查基於此數組的複選框,它的保存值以及正確。

+0

我覺得這個鏈接http://www.yiiframework.com/forum/index.php/topic/53418-checkboxlist-options/可以幫助你複選框 – yafater

+0

使用chekboxList例如它不工作,它的保存值正確..但沒有顯示預先選中的複選框的默認選中狀態 –

回答

0

使用checkboxlist循環您的類別

<? 
    use yii\helpers\ArrayHelper; 
    $cats=Category::find()->all(); 
    $cats=ArrayHelper::map($cats, 'id', 'name'); 
    echo $form->field($model, 'categoriesIds[]')->checkboxList($cats); 
    ?> 
+0

的 –

+0

讓我知道[1,2](它的PHP數組不是字符串)和explode(',','1,2' ); –

0
所有(); $ regs = ArrayHelper :: map($ reg,'region_id','region_name'); ?>
<?php echo $form->field($model, 'region_id[]')->checkboxList($regs); ?> 
+1

你可以給你的答案添加一些解釋嗎? – Philipp