Yii 如何将复选框列表更改为类似于on/off开关?

Yii 如何将复选框列表更改为类似于on/off开关?,yii,yii2,Yii,Yii2,有没有办法将checkboxlist小部件更改为类似于Kartik的开关输入小部件中显示的开/关开关,但在一个组中 我正在使用以下代码: echo $form->field($model, 'blocked_list')->checkboxList($array_list); 这是非常简单的使用,但产生“简单”列表 我试过用Karitk的这样: foreach ($array_list as $category_id=>$category_name) { echo '

有没有办法将checkboxlist小部件更改为类似于Kartik的开关输入小部件中显示的开/关开关,但在一个组中

我正在使用以下代码:

echo $form->field($model, 'blocked_list')->checkboxList($array_list);
这是非常简单的使用,但产生“简单”列表

我试过用Karitk的这样:

foreach ($array_list as $category_id=>$category_name) {
    echo '<label class="control-label">' . $category_name . '</label>';
    echo SwitchInput::widget([
        'name'=>'blocked_list',
        'value'=>in_array($category_id, $model->blocked_list),
        'pluginOptions' => [
            'size' => 'mini',
        ],
    ]);
foreach($category\u id=>$category\u name的数组\u列表){
回显“.$category_name.”;
echo SwitchInput::小部件([
'name'=>'blocked_list',
“值”=>在数组中($category\u id,$model->blocked\u list),
“插件操作”=>[
'大小'=>'迷你',
],
]);
但它与模型没有链接,表单也放松了它的格式

有什么想法吗?

我知道了

    foreach ($category_array as $category_id=>$category_name) {
        if ( isset($model->blocked_list[$category_id]) )
            $model->blocked_list[$category_id] = true;
        else
            $model->blocked_list[$category_id] = false;

        echo $form->field($model, 'blocked_list[' . $category_id . ']')
            ->label($category_name)
            ->widget(SwitchInput::classname(), []);
}
我只是添加了一个验证“if”来询问要显示的变量是否存在,然后为模型设置正确的值

希望它能帮助别人

我找到了

    foreach ($category_array as $category_id=>$category_name) {
        if ( isset($model->blocked_list[$category_id]) )
            $model->blocked_list[$category_id] = true;
        else
            $model->blocked_list[$category_id] = false;

        echo $form->field($model, 'blocked_list[' . $category_id . ']')
            ->label($category_name)
            ->widget(SwitchInput::classname(), []);
}
我只是添加了一个验证“if”来询问要显示的变量是否存在,然后为模型设置正确的值

希望它能帮助别人