$form->field($model, 'hobby')->checkboxList(['0' => '篮球', '1' => '足球', '2' => '羽毛球', '3' => '乒乓球'])
在模板中解析变成
<div class="form-group field-admin-sex">
<p class="help-block help-block-error"></p>
<input name="Admin[hobby]" value="" type="hidden">
<div id="admin-hobby">
<div class="checkbox"><label><input name="Admin[hobby][]" value="0" type="checkbox"> 篮球</label></div>
<div class="checkbox"><label><input name="Admin[hobby][]" value="1" checked="" type="checkbox"> 足球</label></div>
<div class="checkbox"><label><input name="Admin[hobby][]" value="2" type="checkbox"> 羽毛球</label></div>
<div class="checkbox"><label><input name="Admin[hobby][]" value="3" type="checkbox"> 乒乓球</label></div>
</div>
</div>
<?php $model->test=($model->test)?:[1,2,3]?>
<?= $form->field($model, 'test', [
'options'=>['class' => 'form-group form-md-checkboxes'],
'template' => '{label}<div class="col-md-9 md-checkbox-inline">{input}</div>{hint}{error}',
] )->checkBoxList($model->test(), [
'item' => function($index, $label, $name, $checked, $value) {
//$index 数组键名
//$label 标签名
//$name 设置checkbox的name
//$checked 默认选择
//$value 值
$checked=$checked?"checked":"";
$return = '<div class="md-checkbox">';
$return .= '<input type="checkbox" id="' . $name . $value . '" name="' . $name . '" value="' . $value . '" class="md-checkbox" '.$checked.'>';
$return .= '<label for="' . $name . $value . '"><span></span><span class="check"></span><span class="box"></span>' . ucwords($label) . '</label>';
$return .= '</div>';
return $return;
}
]) ?>
- 方法二
> item : 在生成每个checkbox表单的时候,都会回调这个函数,如果设置了则使用返回值作为checkbox的表单,否则使用static::checkbox函数来生成每个checkbox表单,函数格式为: function ($index,$label, $name, $checked, $value)
<?php $model->test=($model->test)?:[1,2,3]?>
<?= Html::checkboxList('children', [], $model->test, ['class' => 'col-lg-5',
'item' => function ($index, $label, $name, $checked, $value) {
//$index 数组键名
//$label 标签名
//$name 设置checkbox的name
//$checked 默认选择
//$value 值
$checkStr = $checked ? "checked" : "";
return '<label><input type="checkbox" style="margin:10px" name="' . $name . '" value="' . $value . '" ' . $checkStr . ' class="class' . $index . '" data-uid="user' . $index . '">' . $label . '</label>';
}]); ?>
- 方法三
<?php $model->sex=($model->test)?:[1,2,3]?>
<?= Html::checkboxList('children', [], $model->test, ['class' => 'col-lg-5','itemOptions'=>array('style'=>'margin:10px')]); ?>