复选框未显示为已选中

时间:2010-09-27 12:22:17

标签: php html

问题是我有一个页面,其中列出了针对特定问题的以下checbox。当我选择其中一个框并转到下一页然后回来然后我发现,没有一个复选框似乎被检查。我有在后端检查它,我能够看到复选框确实已经检查,但我无法将它们视为已检查。我无法弄清楚为什么它们似乎没有被检查。任何有关的帮助这将不胜感激。谢谢。以下是我在该页面中的代码。

 <td>
  <input type="checkbox" name="test_na" value="N/A" <?=$test_na?> id="test_na">
  <label for="test_na">NA</label>
 </td>
 <td>
   <input type="checkbox" name="test_y" value="Y" <?=$test_y?> id="test_y"> 
    <label for="test_y">Yes</label>
 </td>

<td>
 <input type="checkbox" name="test_n" value="N" <?=$test_n?> id="test_n">
 <label for="test_n">No</label>
</td>

2 个答案:

答案 0 :(得分:3)

如果值匹配,则测试检查点的值并回显checked

<td>
  <input type="checkbox" name="test_na" value="N/A" <?php echo (isset($test_na) && $test_na == 'N/A' ? checked : ''); ?> id="test_na">
  <label for="test_na">NA</label>
 </td>
 <td>
   <input type="checkbox" name="test_y" value="Y" <?php echo (isset($test_y) && $test_y == 'Y' ? checked : ''); ?> id="test_y"> 
    <label for="test_y">Yes</label>
 </td>

<td>
 <input type="checkbox" name="test_n" value="N" <?php echo (isset($test_n) && $test_n == 'N' ? checked : ''); ?> id="test_n">
 <label for="test_n">No</label>
</td>

答案 1 :(得分:0)

请参阅页面来源。你的变量是什么?它应为checked="checked"checked="yes"checked="1"