Codeigniter 带设定值的编码器点火器form_收音机

Codeigniter 带设定值的编码器点火器form_收音机,codeigniter,radio-button,Codeigniter,Radio Button,我的表单和单选按钮有点问题,输入文本时我会这样做: <?php echo form_input('lastname', set_value('lastname'), 'id=lastname'); ?> <?php echo form_error('lastname'); ?> 当验证运行时,填写的输入字段得到返回的值……我要寻找的是一种单选按钮实现这一点的方法 <tr><td><?php echo form_label('Gender

我的表单和单选按钮有点问题,输入文本时我会这样做:

<?php echo form_input('lastname', set_value('lastname'), 'id=lastname'); ?>
<?php echo form_error('lastname'); ?>

当验证运行时,填写的输入字段得到返回的值……我要寻找的是一种单选按钮实现这一点的方法

<tr><td><?php echo form_label('Gender: ', 'gender'); ?></td><td><?php echo form_label('Male', 'male') . form_radio('gender', 'M', '', 'id=male'); ?><br><?php echo form_label('Female', 'female') . form_radio('gender', 'F', '', 'id=female'); ?></td><td><?php echo form_error('gender'); ?></td></tr>

正如您所看到的,我的两个单选按钮的值都已为F或M…..如何使所选的按钮返回选中状态?

来自《用户指南》:

form\u radio()

此函数在所有方面都与表单_checkbox()相同 除将其设置为“无线电”类型外,上述功能除外

因此,进一步阅读:

form\u checkbox()

用于生成复选框字段。简单的例子:

echo form_checkbox('newsletter', 'accept', TRUE);
将产生:

<input type="checkbox" name="newsletter" value="accept" checked="checked" />
由于
set_radio()
只返回一个字符串
checked=“checked”
,如果您确实想,可以将其插入到第四个参数中,但这会产生一些难看的代码:

echo form_radio('gender', 'F', NULL, 'id="female" '.set_radio('gender', 'F'));
这是为了

<tr><td><?php echo form_label('Gender: ', 'gender'); ?></td><td><?php echo form_label('Male', 'male') . form_radio(array("name"=>"gender","id"=>"male","value"=>"M", 'checked'=>set_radio('gender', 'M', FALSE))); ?><br><?php echo form_label('Female', 'female') . form_radio(array("name"=>"gender","id"=>"female","value"=>"F", 'checked'=>set_radio('gender', 'F', FALSE))); ?></td><td><?php echo form_error('gender'); ?></td></tr>

我的单选按钮是这样写的

<?php form_radio(array("name"=>"gender","id"=>"female","value"=>"F", 'checked'=>set_radio('gender', 'F', FALSE))); ?>

$\u fldProyectoMostrar=阵列(
“id”=>“\u FLDPROYDER”,
“名称”=>“\u FLDPROYDER”
);
不
硅

Donde el el segundo valor del set radio,debe ser=al string value del form_radio这对我来说很有效。尽管我没有使用form_helper,但这是一种更简单的方法。每个人都面临着为性别字段输入信息的问题:)


我使用三元运算符进行此操作。
假设您得到了返回值“M”(男性)。我以$selected变量为例,假设它的值为M

<tr>
    <td>
        <?php echo form_label('Gender: ', 'gender'); ?>
    </td>
    <td>
        <?php echo form_label('Male', 'male') . form_radio(array('name' => 'gender', 'value' => 'M', 'checked' => ('M' == $selected) ? TRUE : FALSE, 'id' => 'male')); ?><br>
        <?php echo form_label('Female', 'female') . form_radio(array('name' => 'gender', 'value' => 'F', 'checked' => ('F' == $selected) ? TRUE : FALSE, 'id' => 'female')); ?>
    </td>
    <td>
        <?php echo form_error('gender'); ?>
    </td>
</tr>



checked
接受布尔值。之所以有效,是因为CI很好地将
checked
的值转换为合法值,并使用任何其他属性输出类似于
attr=“checked=”checked”“
。只需一个小注释,if中就缺少了{}大括号clause@RomanT,考虑到只有带有“if”条件的语句,大括号不是强制性的,但最好有。
$_fldProyectoMostrar = array(
"id"        => "_FLDPROYDER",
"name"      => "_FLDPROYDER"
);


<?php echo form_radio($_fldProyectoMostrar, "FALSE",    set_radio("_FLDPROYDER", "FALSE", TRUE)); ?>NO

<?php echo form_radio($_fldProyectoMostrar, "TRUE",     set_radio("_FLDPROYDER", "TRUE", FALSE )); ?>SI
               <input id="gender" name="gender" type="radio" class="" <?php if($gender=='0') echo "checked='checked'"; ?> value="0" <?php echo $this->form_validation->set_radio('gender', 0); ?> />
                <label for="gender" class="">Male</label>

                <input id="gender" name="gender" type="radio" class="" <?php if($gender=='1') echo "checked='checked'"; ?> value="1" <?php echo $this->form_validation->set_radio('gender', 1); ?> />
                <label for="gender" class="">Female</label>

                <input id="gender" name="gender" type="radio" class="" <?php if($gender=='2') echo "checked='checked'"; ?> value="2" <?php echo $this->form_validation->set_radio('gender', 2); ?> />
                <label for="gender" class="">Others</label>
<tr>
    <td>
        <?php echo form_label('Gender: ', 'gender'); ?>
    </td>
    <td>
        <?php echo form_label('Male', 'male') . form_radio(array('name' => 'gender', 'value' => 'M', 'checked' => ('M' == $selected) ? TRUE : FALSE, 'id' => 'male')); ?><br>
        <?php echo form_label('Female', 'female') . form_radio(array('name' => 'gender', 'value' => 'F', 'checked' => ('F' == $selected) ? TRUE : FALSE, 'id' => 'female')); ?>
    </td>
    <td>
        <?php echo form_error('gender'); ?>
    </td>
</tr>