php生成的选项默认选中


php generated option selected by default

我可能又对自己的错误视而不见了,但为什么2011年没有成为默认的选择年份?(--are用于调试,它们显示if语句工作正常。)

for($year=1900;$year<=2050;$year++) {
 if ($year==date("Y"))
   echo "<option value='".$year."' selected='selected'>--".$year."</option>";
 else
   echo "<option value='".$year."'>".$year."</option>";
}

selected="selected"应该会起作用。(链接)所以这要么是一个愚蠢的错误(我真的没有看到),要么是php的一些影响。。

更新:发现问题。。ftp没有正确覆盖文件。现在它起作用了。感谢你的快速帮助,当这些事情发生时,我总是开始怀疑自己的理智。(无法将其作为答案发送,因为我的rep很低)

PHP对浏览器行为没有影响,所以如果它不起作用,那就是HTML输出中的一个愚蠢错误。;)

最好的方法是检查selected变体是否真的输出了。可能是比较结果为false,所以它总是第二行。一点调试应该能很快指出问题所在。检查浏览器中的输出,或者var_dump$year和date('Y')的值,看看它们是否返回您期望的值。

乍一看,我没有发现任何错误。你有任何可能影响选择的Javascript吗?

CTRL + SHIFT + R(如果使用firefox)。我也经常遇到这种问题。。它应该只是缓存。

Btw您应该对html属性使用双引号。这更"平常"。:)

您是否正在检查生成的HTML?也许这段代码运行得很好(看起来确实如此),但问题出在select或其他地方。