2014-11-24 52 views
0

我有以下的PHP代碼:粘選擇選項

<?php 

echo '<select name="transact_day" id="transact_day">'; 

echo"<option value=''>Select Day</option>"; 

for($i= 1; $i<=31; $i++){ 
    echo "<option value=". $i ." "; 

     if(isset($day) == "$i"){ 
       echo 'selected = "selected" '; 
     } 

    echo ">$i</option>\n"; 
} 
echo '</select>'; 

?> 

我希望它是粘,但是當選擇一個日期(如10)和表單提交這僅僅是值31是粘(不管選定的日期)。我嘗試過不同的選項,通過類似的問題進行搜索,但我無法弄清楚上面的代碼有什麼問題。任何建議?感謝

+0

如何$一天被改變?我認爲應該有一個換行日期爲 – 2014-11-24 13:27:49

+0

$ day的換行表單在提交時發生變化。 – 2014-11-24 13:59:12

回答

2

isset($day)返回一個布爾值,因此與$i比較是不正確的。檢查$day設置,然後用$i比較$day

echo '<select name="transact_day" id="transact_day">'; 

     echo"<option value=''>Select Day</option>"; 

      for($i= 1; $i<=31; $i++){ 
      echo "<option value=". $i ." "; 

      if(isset($day) && ($day == "$i")){ 
       echo 'selected = "selected" '; 
      } 

      echo ">$i</option>\n"; 
     } 
     echo '</select>'; 
+0

謝謝阿瑞斯。 (isset($ day)&&($ day ==「$ i」))做到了這一點。 – 2014-11-24 14:50:15