【问题标题】:How to set the value for Radio Buttons When edit?编辑时如何设置单选按钮的值?
【发布时间】:2011-09-06 01:03:51
【问题描述】:

我有一个带有男性和女性单选按钮的性别行。当我第一次注册时,单选按钮的值将存储在数据库中。现在我的问题是,如果我再次编辑该行,它想要来(这意味着检查)该值作为男性/女性。怎么做?

注意:使用 php。

HTML 脚本:

<tr id="inside">
<td align="right" width="40%" id="side" >Gender</td>
<td width="3%"> </td>
<td align="left" width="50%">
<input type="radio" name="sex" value="Male" size="17">Male
<input type="radio" name="sex" value="Female" size="17">Female
</td>
</tr>

【问题讨论】:

  • 在呈现此 HTML 之前是否执行了 PHP 代码?可能是从数据库中获取sex 值的代码?
  • HTML 实际上是一种标记语言而不是脚本语言。你写了这个词'HTML Script:'

标签: php html radio-button


【解决方案1】:

当您填充字段时,您可以检查值:

<input type="radio" name="sex" value="Male" <?php echo ($sex=='Male')?'checked':'' ?>size="17">Male
<input type="radio" name="sex" value="Female" <?php echo ($sex=='Female')?'checked':'' ?> size="17">Female

假设您从数据库返回的值在变量$sex

选中的属性会预选匹配的值

【讨论】:

  • 这样一个很棒的解决方案,即使是两年后。一定要爱 SO 及其成员。
  • @a7omiton 我很高兴答案仍然相关:)
【解决方案2】:

只需在您希望默认启用的正确单选按钮中添加“checked="checked"'。例如,您可以使用 php quick if 表示法将其添加到:

<input type="radio" name="sex" value="Male" size="17" <?php echo($isMale?'checked="checked"':''); ?>>Male
<input type="radio" name="sex" value="Female" size="17" <?php echo($isFemale?'checked="checked"':''); ?>>Female

在此示例中,$isMale 和 $isFemale 是您根据数据库中的值分配的布尔值。

【讨论】:

    【解决方案3】:

    这对我来说更容易阅读:

    <input type="radio" name="rWF" id="rWF" value=1  <?php if ($WF == '1') {echo ' checked ';} ?> />Water Fall</label>
    <input type="radio" name="rWF" id="rWF" value=0 <?php if ($WF == '0') {echo ' checked ';} ?> />nope</label>
    

    【讨论】:

      【解决方案4】:
          Gender :<br>
          <input type="radio" name="g" value="male"  <?php echo ($g=='Male')?'checked':'' ?>>male <br>
          <input type="radio" name="g" value="female"<?php echo ($g=='female')?'checked':'' ?>>female
                  <?php echo $errors['g'];?>
      

      【讨论】:

        【解决方案5】:

        对于那些可能需要 pug 模板引擎和 NodeJs 后端解决方案的人,您可以使用这个:

        如果值不是布尔值(IE:真或假),下面的代码可以正常工作:

        input(type='radio' name='sex' value='male' checked=(dbResult.sex ==='male') || (dbResult.sex === 'newvalue') )
        input(type='radio' name='sex' value='female' checked=(dbResult.sex ==='female) || (dbResult.sex === 'newvalue'))
        

        如果值是布尔值(即:真或假),请改用它:

        input(type='radio' name='isInsurable' value='true' checked=singleModel.isInsurable || (singleModel.isInsurable === 'true') )
        input(type='radio' name='isInsurable' value='false' checked=!singleModel.isInsurable || (singleModel.isInsurable === 'false'))
        

        原因||如果由于验证错误而导致编辑失败并且您有逻辑将新值发送回前端,则运算符将重新显示新值

        【讨论】:

          【解决方案6】:
          <td><input type="radio" name="gender" value="Male" id="male" <? if($gender=='Male')
          {?> checked="" <? }?>/>Male
          <input type="radio" name="gender" value="Female" id="female" <? if($gender=='Female') {?> checked="" <?}?>/>Female<br/> </td>
          

          【讨论】:

            猜你喜欢
            • 2018-01-14
            • 2019-01-12
            • 2014-07-24
            • 2018-08-10
            • 2016-12-16
            • 1970-01-01
            • 2013-07-29
            • 2013-02-27
            • 2015-03-22
            相关资源
            最近更新 更多