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

时间:2015-06-19 07:39:07

标签: yii yii2

有没有什么方法可以将checkboxlist小部件更改为类似于Kartik的Switch Input Widget中提供的on / off开关,但是在一个组中?

我正在使用此代码:

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',
        ],
    ]);

但它没有与模型相关联,而Form也没有格式化

请问任何想法?

1 个答案:

答案 0 :(得分:0)

我已经知道了!

    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(), []);
}

我刚刚添加了验证&#34; if&#34;询问是否存在要显示的变量,然后为模型设置正确的值

希望它有助于某人