具有set_value的CodeIgniter form_radio

时间:2012-11-07 00:24:21

标签: 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: ', '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 .....我如何选择返回的按钮?

5 个答案:

答案 0 :(得分:9)

来自用户指南:https://www.codeigniter.com/user_guide/helpers/form_helper.html

  

form_radio()

     

此函数在所有方面都与form_checkbox()相同   上面的函数除了将其设置为“无线电”类型。

进一步阅读:

  

form_checkbox()

     

允许您生成复选框字段。简单的例子:

echo form_checkbox('newsletter', 'accept', TRUE);
     

会产生:

<input type="checkbox" name="newsletter" value="accept" checked="checked" />
     

第三个参数包含一个布尔值TRUE / FALSE来确定是否   应该检查盒子。

所以在你的情况下,它可能是这样的:

// Pass boolean value to third param
// Example:
$radio_is_checked = $this->input->post('gender') === 'F';

echo form_radio('gender', 'F', $radio_is_checked, 'id=female');

由于set_radio()只返回一个字符串checked="checked",如果你真的想要它,你可以将它楔入第四个参数,但它会产生一些难看的代码:

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

答案 1 :(得分:5)

我使用三元运算符。 假设你得到的回报值是&#34; M&#34; (男)。我正在制作$ selected变量,并假设它的值为M.

    <?php $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>

答案 2 :(得分:2)

这对我很有用。虽然我没有使用form_helper,但这更容易。每个人都面临着为性别领域投入的问题:)

               <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>

我希望它会帮助某人:)

答案 3 :(得分:1)

这种作品很有用......

<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))); ?>

答案 4 :(得分:-2)

$_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

Donde el el segundo valor del set radio,debe ser = al string value del form_radio