2012-01-13 84 views
0

我有一個php代碼下面,它是假設顯示我的按鈕,連續7個按鈕。現在這些按鈕顯示在一個淡入淡出的區塊中。但問題是,前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; 
} 
+0

什麼是生成的標記? CTRL + U。 – paislee 2012-01-13 17:50:03

+0

今天我學到了一種新的鍵盤快捷鍵。 – 2012-01-13 17:56:58

+0

縮小問題範圍。 PHP與HTML的圖形表示或Javascript無關。完全摘下它。 – 2012-01-13 17:57:30

回答

1

這可能是與按鈕之前缺少的開始<td>

如果你有7/14/21/etc,我也會重新編寫循環以確保你沒有空行。按鈕:

<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

您錯過了開頭和結尾<td>標籤。

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

作爲邊注,表格是用於顯示表格數據。特別是對於這種情況,您的所有按鈕每行都包含在一個單元格中,您可以使用<div>來實現完全相同的效果,它會更加「正確」,並且標記會更加整齊。