我有动态检查单选框的代码:
PHP:
if ($author === 0) {$checked = 'checked';} else {$checked == '';}
if ($author === 1) {$checked = 'checked';} else {$checked == '';}
if ($author === 2) {$checked = 'checked';} else {$checked == '';}
HTML:
<input type="radio" name="test" <?PHP echo $checked; ?> />
<input type="radio" name="test" <?PHP echo $checked; ?> />
<input type="radio" name="test" <?PHP echo $checked; ?> />
这种方式是真的吗?什么是更好/优化的方式?
我可以为保存代码编写任何PHP函数或类并检查任何单选框吗?
答案 0 :(得分:1)
如果您期待使用缩短的if
语句表单,它可以为您节省一些行和不必要的额外变量。第一个input
的示例:
<input type="radio" name="test" <?php echo $author === 0 ? 'checked' : '' ?> />
答案 1 :(得分:1)
理想情况下,如果作者值与该输入相关,则需要检查按钮,例如:
<input type="radio" name="test" value="0" <?php echo ($author == 0 ? 'checked="checked"' : ''); ?> />
<input type="radio" name="test" value="1" <?php echo ($author == 1 ? 'checked="checked"' : ''); ?> />
<input type="radio" name="test" value="2" <?php echo ($author == 2 ? 'checked="checked"' : ''); ?> />
您目前正在检查所有值是否为任何值。
答案 2 :(得分:0)
HTML标记错误。使用该HTML,用户可以选择所有这些无线电。为了使用户只能从该组选项中选择一个单选按钮,将名称更改为所有匹配,如下所示:
<input type="radio" name="test1" <?PHP echo $checked; ?> />
<input type="radio" name="test1" <?PHP echo $checked; ?> />
<input type="radio" name="test1" <?PHP echo $checked; ?> />
答案 3 :(得分:0)
你可以做的事情:
<?php
$checked = ($author >= 0 && $author <= 2 ? 'checked' : '');
?>
HTML
<input type="radio" name="test" <?php echo $checked; ?> />
<input type="radio" name="test1" <?php echo $checked; ?> />
<input type="radio" name="test2" <?php echo $checked; ?> />
答案 4 :(得分:0)
<?php
switch($author) {
case 0:
case 1:
case 2:
$checked = "checked";
break;
default:
$checked = '';
}