我正在使用yii2,我想检查我的复选框,
<?= $form->field($model, 'is_email_alerts')->checkbox(['label'=>'','checked'=>true,'uncheck'=>'0','value'=>'1']); ?>
但它不起作用
答案 0 :(得分:3)
是否选中复选框仅由属性值决定。
的API页面此方法将生成&#34;已检查&#34;根据模型属性值
标记属性
因此只需添加
$model->is_email_alerts = true;
在您的控制器中或您在视图中此调用之前的任何位置。
只是为了验证这是实际案例:来自BaseHtml::activeCheckbox()
的来源public static function activeCheckbox($model, $attribute, $options = [])
{
...
$value = static::getAttributeValue($model, $attribute);
...
$checked = "$value" === "{$options['value']}";
...
return static::checkbox($name, $checked, $options);
}
设置checked
的{{3}}中唯一的一行是
public static function checkbox($name, $checked = false, $options = [])
{
$options['checked'] = (bool) $checked;