Forms Yii单选按钮问题

Forms Yii单选按钮问题,forms,yii,radio-button,Forms,Yii,Radio Button,我使用Yii生成单选按钮 代码看起来像 <span class="gender"> <?php echo CHtml::activeRadioButton($model,'gender',array('value' => 'male')); ?> </span> <span class="gender"> <?php echo CHtml::activeRadioButton($mode

我使用Yii生成单选按钮 代码看起来像

    <span class="gender">
       <?php echo CHtml::activeRadioButton($model,'gender',array('value' => 'male')); ?>
    </span>

  <span class="gender">
       <?php echo CHtml::activeRadioButton($model,'gender',array('value' => 'female')); ?>
  </span>

它将生成下一个HTML代码

    <span class="gender">
<input id="ytweb\models\register_gender" type="hidden" value="0" name="web\models\register[gender]">

<input value="male" class="male" name="web\models\register[gender]"id="web\models\register_gender" type="radio"></span>

<span class="gender">
<input id="ytweb\models\register_gender" type="hidden" value="0" name="web\models\register[gender]">

<input value="female" class="female" name="web\models\register[gender]" id="web\models\register_gender" type="radio">

</span>


当我从这个表单中获得帖子时,如果我选中女性,它将返回女性,但如果我选中男性,它将返回0。我认为这是因为相同的输入ID。但是如何避免呢?

您可以配置
activeRadioButton
以不输出值为
0
的“保护输入”。通过将参数
'uncheckValue'=>null
作为选项数组的一部分传递来执行此操作:

echo CHtml::activeRadioButton($model,'gender',
    array('value' => 'male', 'uncheckValue' => null));
echo CHtml::activeRadioButton($model,'gender',
   array('value' => 'female', 'uncheckValue' => null));
也就是说,在这里使用是最好的选择。您可以配置其
模板
参数以指定自定义HTML:

$genders = array('male' => 'male', 'female' => 'female');
$options = array(
    'template'     => '<span class="gender">{input</span>',
    'uncheckValue' => null,
);
echo CHtml::activeRadioButtonList($model, 'genger', $genders, $options);
$genders=array('male'=>'male','female'=>'female');
$options=array(
'模板'=>'{input',
“uncheckValue”=>null,
);
echo-CHtml::activeRadioButtonList($model,$genger',$genders,$options);

您可以将
activeRadioButton
配置为不输出值为
0
的“保护输入”。通过将参数
'uncheckValue'=>null作为选项数组的一部分来执行此操作:

echo CHtml::activeRadioButton($model,'gender',
    array('value' => 'male', 'uncheckValue' => null));
echo CHtml::activeRadioButton($model,'gender',
   array('value' => 'female', 'uncheckValue' => null));
也就是说,在这里使用是最好的选择。您可以配置其
模板
参数来指定自定义HTML:

$genders = array('male' => 'male', 'female' => 'female');
$options = array(
    'template'     => '<span class="gender">{input</span>',
    'uncheckValue' => null,
);
echo CHtml::activeRadioButtonList($model, 'genger', $genders, $options);
$genders=array('male'=>'male','female'=>'female');
$options=array(
'模板'=>'{input',
“uncheckValue”=>null,
);
echo-CHtml::activeRadioButtonList($model,$genger',$genders,$options);

@NikitaPlatonenko:您可能希望使用
activeRadioButtonList
。它更适合该作业。@NikitaPlatonenko:您可能希望使用
activeRadioButtonList
。它更适合该作业。