2014-11-24 95 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