块中没有显示7个按钮,但其他按钮是

时间:2012-01-13 17:46:48

标签: php css

我有一个PHP代码,它假设显示我的按钮,连续7个按钮。现在这些按钮显示在一个淡入淡出的块中。但问题是前7个按钮没有显示在块中,而是单独显示,其他按钮显示在块中。为什么会发生这种情况:

以下是php代码:

<table class="optionTypeTbl">
<tr>

        <?php
    $i = 1;
    foreach($num as $key => $val){
        echo"<input type=\"button\" value=\"$val\" id=\"btn".$val."\" name=\"btn".$val."Name\" class=\"gridBtns gridBtnsOff\">";        
        if($i%7 == 0) echo"</td></tr><tr><td>";
        $i++;
    }
?>

        </tr>
        <tr>
        <td>
        <input class="gridBtns" name="btnTrueorFalseName"  id="btnTrueorFalse"  type="button"  value="True or False"  />
        <input class="gridBtns" name="btnYesorNoName"  id="btnYesorNo"  type="button"  value="Yes or No"  />
        </td>
        </tr> 
        </table>

的CSS:

.gridBtns{
    background-color: #ffffff;
    border: #666666 1px solid;
    color: black;
    font-weight:bold;
    }

.optionTypeTbl{
    display:none;   
    background-color:white;
    position:absolute;  
    border:1px solid black;
}

2 个答案:

答案 0 :(得分:1)

这可能与按钮前缺少开口<td>有关。

如果你有7/14/21 /等,我也会重新编写循环以确保你没有空行。按钮:

<table class="optionTypeTbl">
    <?php
    $i = 1;
    foreach($num as $key => $val){
        if($i%7 == 1) echo"<tr><td>";
        echo"<input type=\"button\" value=\"$val\" id=\"btn".$val."\" name=\"btn".$val."Name\" class=\"gridBtns gridBtnsOff\">";        
        if($i%7 == 0) echo"</td></tr>";
        $i++;
    }
    ?>

<tr>
    <td>
    <input class="gridBtns" name="btnTrueorFalseName"  id="btnTrueorFalse"  type="button"  value="True or False"  />
    <input class="gridBtns" name="btnYesorNoName"  id="btnYesorNo"  type="button"  value="Yes or No"  />
    </td>
</tr> 
</table>

答案 1 :(得分:1)

您错过了开始和结束<td>代码。

<table class="optionTypeTbl">
  <tr>
    <td> <!-- This is missing -->
    <?php
      // ...
    ?>
    </td> <!-- This is missing -->
    </tr>
    <tr>
    <!-- ... -->

作为旁注,表格仅用于显示表格数据。特别是对于这种情况,你的所有按钮每行都包含在一个单元格中,你可以用<div>来实现完全相同的东西,它会更加“正确”,并且标记会更加整洁。 / p>