当Switch输出关闭时,它返回NULL元素?

时间:2016-03-16 09:21:41

标签: yii2

我有一系列Krajee SwitchInputs,当SwitchInput的每个人都关闭时,它什么都不返回。

SwitchInput::widget([
    'name' => 'work_time[]',
    'value' => 1,
}

2 个答案:

答案 0 :(得分:1)

您未获得

值的原因

这应该是expected behavior(不考虑空复选框"成功")并且与实际的kartik-widget无关。在后台,小部件使用常规复选框。

为了节省开销,空复选框不会传输" 0"。因此,如果您有多个并且全部关闭,则不会传输任何内容。然而,这是没有问题的,因为你知道什么时候都缺失了,一切都没了!

你可以在这里找到很多类似的问题,例如this one,解释同样的事情。别担心,因为它很简单:

  • 值缺失或0:个别复选框已关闭
  • 缺少所有值:全部关闭

如果您仍想要解决方法,可以找到一个here

检查正确的方式

以下代码将在比较时尊重类型。通常,您将使用布尔值或1和0作为整数。两者都工作得很好,但布尔方式更好,因为您不仅可以使用等运算符==而且还可以使用相同运算符===

$myCheckboxVal = isset(Yii::$app->request->post('my_checkbox')) ? true : false;

答案 1 :(得分:-1)

谢谢,我解决了。

$value=isset($_POST['day_check']) ? '1' : '0';