这是我的代码段:
echo "<tr>
<td>Fruits</td>
<td>
<input type='radio' name='fruit' value='Apple' ($fruit=='Apple')?'checked':''> Apple
<input type='radio' name='chamber' value='Banana' ($fruit=='Banana')?'checked':''> Banana</td>
</tr>";
$fruit
的值为Apple
,但单选按钮属性仍未设置为checked
。
答案 0 :(得分:3)
如果检查输出结果,您可以看到该语句不会按照您的意愿执行,因为它位于" "
内。您需要先打破"
并在检查后继续这样做:
echo "<tr>
<td>Fruits</td>
<td>
<input type='radio' name='fruit' value='Apple' " . (($fruit=='Apple')?'checked="checked"':'') . "> Apple
<input type='radio' name='chamber' value='Banana' " .(($fruit=='Banana')?'checked="checked"':'') . "> Banana</td>
</tr>";
最好包括所有内部括号(...)
,以免弄乱其他内容。
当您想要将某些内容标记为已选中时,最好还是checked="checked"
。
答案 1 :(得分:0)
在您的示例中,您可以在?'checked':''
中添加($fruit=='Apple')
,或为所有ternary
添加一个括号。
示例(最好在您需要的地方使用<?php ?>
):
<tr>
<td>Fruits</td>
<td>
<input type='radio' name='fruit' value='Apple' <?=($fruit=='Apple' ? 'checked' : '')?>> Apple
<input type='radio' name='fruit' value='Banana' <?=($fruit=='Banana' ? 'checked' : '')?>> Banana</td>
</tr>
答案 2 :(得分:0)
如果发现任何问题,最简单的是:
if($fruit=='Apple') $check="checked"; else $check="";
if($fruit=='Banana') $check="checked"; else $check="";
echo "<tr>
<td>Fruits</td>
<td>
<input type='radio' name='fruit' value='Apple' " .$check. "> Apple
<input type='radio' name='chamber' value='Banana' " .$check. "> Banana</td>
</tr>";
&#13;