所以,我想在两个单独的地方有两个单选按钮,我一直在努力寻找解决方案,每个人都建议使用radiolist,这在我的情况下是不可能的.
如果我这样说(work_part_time按钮):(下)
= $form->field($model, 'work_part_time')->radio(['label' => 'yes', 'value' => 1])?>-= $form->field($model, 'hour_week')->textInput(['type' => 'number', 'placeholder' => 'Hour/Week'])->label(false)?>= $form->field($model, 'part_time_rate')->textInput(['type' => 'number', 'placeholder' => 'rate/hour(SGD)'])->label(false)?>= $form->field($model, 'work_part_time')->radio( [0 => 'No'])->label('No')?>
= $form->field($model, 'work_part_time')->radio(['label' => 'yes', 'value' => 1])?>-= $form->field($model, 'hour_week')->textInput(['type' => 'number', 'placeholder' => 'Hour/Week'])->label(false)?>= $form->field($model, 'part_time_rate')->textInput(['type' => 'number', 'placeholder' => 'rate/hour(SGD)'])->label(false)?>= $form->field($model, 'work_part_time')->radio( [0 => 'No'])->label('No')?>
我只能得到0值.
有人找到了解决方案吗?
Yii将根据存储属性的值为单选按钮分配一个选中或未选中的值,因此如果该值为0,它将检查具有值0的按钮.您的问题似乎是Yii自动隐藏的输入产生.正如其他人所建议的那样,null
如果您想为同一个字段添加多个单选按钮,则需要将其设置为.
如果用户检查另一个按钮,则所有其他具有相同名称的单选按钮将被取消选中.Yii在创建按钮时自动生成属性的名称.尝试使用这些单选按钮:
= $form->field($model, 'work_part_time')->radio(['label' => 'Option 1', 'value' => 1, 'uncheck' => null]) ?> = $form->field($model, 'work_part_time')->radio(['label' => 'Option 2', 'value' => 0, 'uncheck' => null]) ?> = $form->field($model, 'work_part_time')->radio(['label' => 'Option 3', 'value' => 2, 'uncheck' => null]) ?> = $form->field($model, 'work_part_time')->radio(['label' => 'Option4', 'value' => 3, 'uncheck' => null]) ?>
每个按钮都需要一个不同的值,这是保存记录时将存储在您的字段中的值.
只能检查一个按钮,因此如果您有多个按钮具有相同的值和相同的名称(如示例中所示),则只会检查该组中的最后一个按钮.我不知道这方面的方法.我建议您使用
将表单拆分为逻辑部分,每个部分都与work_part_time是yes还是no有关.你似乎已经开始这样做了!