编辑时如何设置单选按钮的值


How to set the value for Radio Buttons When edit?

我有一个带单选按钮的性别行;女的当我第一次注册时,单选按钮的值将存储在数据库中。现在我的问题是,如果我再次编辑该行,它希望(这意味着选中)该值为男性/女性。如何制作?

注意:使用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>

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

<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

选中的属性将预先选择与匹配的值

只需在您希望默认的正确单选按钮中添加"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是基于数据库中的值分配的布尔值。

这对我来说更容易阅读:

<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>
    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'];?>

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

如果值不是布尔值(IE:true或false),下面的代码工作正常:

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

如果值是布尔值(即:true或false),请使用以下内容:

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

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

如果您从数据库表中获取值并动态创建单选按钮,下面是解决方案。在本例中,数据库记录被提取到一个数组中,并用于创建单选按钮。

<?php foreach ($dbrecords as $item) : ?>
<div class="form-check  form-check-inline">
    <input class="form-check-input" type="radio" name="paymentMethod" id="paymentMethod" value=<?php echo $item["Id"]; ?> <?php echo ($paymentMethod == $item["Id"]) ? 'checked' : '' ?>><?php echo $item["Name"]; ?>
</div>
<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>