如何使用 HTML 上的 PHP 自动 select 单选按钮

How to auto select a radio button with PHP on HTML

我有这个代码:

<tr align="center">
    <td align="center">
        <div class="column column2"><label><input type="radio" name="j" value="Pre-Quarantine" checked="<? if ($dato['Status'] == 'Pre-Quaratine'){ echo true; } ?>"/><span>Pre-Quarantine</span></label></div><span class="clearfix"></span>
    </td>
    <td align="center">
        <div class="column column2"><label><input type="radio" name="j" value="Quarantine" checked="<? if ($dato['Status'] == 'Quarantine'){ echo true; } ?>"/><span>Quarantine</span></label></div><span class="clearfix"></span>
    </td>
    <td align="center">
        <div class="column column2"><label><input type="radio" name="j" value="Released" checked="<? if ($dato['Status'] == 'Released'){ echo true; } ?>"/><span>Released</span></label></div><span class="clearfix"></span>
    </td>
</tr>

我想要的是根据我的数据库字段的值自动选择一个单选按钮...但它并没有真正起作用,如果有人能帮助我,我将不胜感激:)

checked 属性会检查元素是否存在。您不需要使用 checked="0/1".

试试这个:

<tr align="center">
    <td align="center">
        <div class="column column2"><label><input type="radio" name="j" value="Pre-Quarantine" <? if ($dato['Status'] == 'Pre-Quaratine'){ echo 'checked'; } ?> /><span>Pre-Quarantine</span></label></div><span class="clearfix"></span>
    </td>
    <td align="center">
        <div class="column column2"><label><input type="radio" name="j" value="Quarantine" <? if ($dato['Status'] == 'Quarantine'){ echo 'checked'; } ?> /><span>Quarantine</span></label></div><span class="clearfix"></span>
    </td>
    <td align="center">
        <div class="column column2"><label><input type="radio" name="j" value="Released" <? if ($dato['Status'] == 'Released'){ echo 'checked'; } ?> /><span>Released</span></label></div><span class="clearfix"></span>
    </td>
</tr>

我发现使用 checked="checked" 在大多数浏览器上效果最好。

您的 PHP 开始标签不正确..它应该是 <?php 而不仅仅是 <? 除非您启用了短标签....

如果必须检查 checked 属性的值也是 checked..

替换

checked="<? if ($dato['Status'] == 'Pre-Quaratine'){ echo true; } ?>"

checked="<?php if ($dato['Status'] == 'Pre-Quaratine'){ echo 'checked'; } ?>"

PHP 标签应以 <?php 开头,而不仅仅是 <?:

<tr align="center">
            <td align="center">
                <div class="column column2"><label><input type="radio" name="j" value="Pre-Quarantine" checked="<?php if ($dato['Status'] == 'Pre-Quaratine'){ echo true; } ?>"/><span>Pre-Quarantine</span></label></div><span class="clearfix"></span>
            </td>
            <td align="center">
                <div class="column column2"><label><input type="radio" name="j" value="Quarantine" checked="<?php if ($dato['Status'] == 'Quarantine'){ echo true; } ?>"/><span>Quarantine</span></label></div><span class="clearfix"></span>
            </td>
            <td align="center">
                <div class="column column2"><label><input type="radio" name="j" value="Released" checked="<?php if ($dato['Status'] == 'Released'){ echo true; } ?>"/><span>Released</span></label></div><span class="clearfix"></span>
            </td>
        </tr>

也许您想使用三元运算符:

我注意到的另一件事是 >

value="Pre-Quarantine"

隔离中的 N 通知

和>

$dato['Status'] == 'Pre-Quaratine'

注意 en Quaratine 的拼写错误,缺少 N(这是故意的吗?)

<tr align="center">
    <td align="center">
        <div class="column column2"><label><input type="radio" name="j" value="Pre-Quarantine" <?php if ( $dato['Status'] == 'Pre-Quaratine') : ?> checked="checked"<?php endif; ?>/><span>Pre-Quarantine</span></label></div><span class="clearfix"></span>
    </td>
    <td align="center">
        <div class="column column2"><label><input type="radio" name="j" value="Quarantine" <?php if ( $dato['Status'] == 'Quaratine') : ?> checked="checked"<?php endif; ?>/><span>Quarantine</span></label></div><span class="clearfix"></span>
    </td>
    <td align="center">
        <div class="column column2"><label><input type="radio" name="j" value="Released" <?php if ( $dato['Status'] == 'Released') : ?> checked="checked"<?php endif; ?>/><span>Released</span></label></div><span class="clearfix"></span>
    </td>
</tr>