Yii2复选框默认值未发送到服务器

时间:2017-11-02 23:43:26

标签: php yii2

这是我的代码:

$model->free = true;
echo $form->field($model, 'free', ['inputOptions'=>['class'=>'form-control input-lg ']])->checkbox();

我想要的是,如果用户没有取消选中,则必须将默认值发送到服务器,但令我惊讶的是,无论用户取消选中还是将其保留为null,它都会将$ model-> free发送到服务器null是;要发送检查值,用户必须取消选中并检查压力。

我如何实现我的目标?

3 个答案:

答案 0 :(得分:0)

尝试:

echo $form->field($model, 'free', ['inputOptions'=>['class'=>'form-control input-lg ']])->checkbox( [ 'uncheck' => 0 ] );

有关详细信息,请参阅link

答案 1 :(得分:0)

您忘记将值属性'value'=>'1'设置为复选框。你的代码应该是。

查看文件

$isCheckedFree = true;
echo $form->field($model, 'free', ['inputOptions'=>['class'=>'form-control input-lg ']])->checkbox(['checked'=>$isCheckedFree,'value'=>'1']);

控制器代码

if(isset($model->free) && $model->free=!null){
    $free = "Y"; // You can set your value
}else{
    $free = "N"; // You can set your value
}

答案 2 :(得分:0)

就我而言,uncheck = false可以正常工作:

echo $form->field($model, 'free', ['inputOptions'=>['class'=>'form-control input-lg ']])->checkbox(['uncheck' => false]);

如Chinmay所言,更多详细信息here