我可能再次对自己的错误视而不见,但为什么2011年不成为默认的选定年份? ( - 用于调试,它们显示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>";
}
所选='已选中'应该正常工作。 (link)所以它是一个愚蠢的错误(我真的没有看到一个)或者来自php的一些影响..
更新: 发现问题.. ftp没有正确覆盖文件。现在它有效。感谢快速的帮助,当这些事情发生时,我总是开始怀疑自己的理智。 (不能发送这个作为答案,因为我有一个低代表)
答案 0 :(得分:1)
PHP对浏览器的行为没有影响,所以如果它不起作用,那么HTML输出中就是一个愚蠢的错误。 ;)
最好的事情是检查selected
变体是否实际输出。可能是比较评估为false,所以它总是第二行。一点点调试应该快速指出错误。检查浏览器中的输出或var_dump $ year和date('Y')的值,看看它们是否返回了您的期望。
乍一看,我发现这里没有错误。你有任何可能影响选择的Javascript吗?
答案 1 :(得分:1)
CTRL + SHIFT + R
如果你使用firefox。
我经常遇到这个问题..
它应该只是缓存。
顺便说一句:你应该使用双引号来表示html属性。这更“平常”。 :)
答案 2 :(得分:0)
您在检查生成的HTML吗?也许这段代码效果很好(似乎确实如此),但问题出在select或者其他地方。