查看完整版本: [-- 请教老师 --]

武当休闲山庄 -> 电脑求助 -> 请教老师 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

伟文 2025-01-04 18:01

下面asp代码年下拉框中。年份显示1975年到2025年,(startyear=currentyear-50 改-60可显示1965年到2025年)改-70就出错了。请教老师改年份显示1950年到2025年.谢谢!

<%
Response.write "<tr Class=LightTableBody>"&_
        "<td>您的生日<BR>以公历为准</td>"&_
        "<td nowrap><Select name=year size=1>"

currentyear=cint(year(date()))
startyear=currentyear-50

for i=startyear to currentyear
    Response.write "<option value="&i
    if i=currentyear-22 Then Response.write " selected"
    Response.write ">"&i&"</option>"
next

Response.write "</Select> 年 <Select name=month size=1>"

for i=1 to 12
    Response.write "<option value="&i
    if i=6 Then Response.write " selected"
    Response.write ">"&i&"</option>"
next

Response.write "</Select> 月 <Select name=day size=1>"

for i=1 to 31
    Response.write "<option value="&i
    if i=15 Then Response.write " selected"
    Response.write ">"&i&"</option>"
next

Response.write "</Select> 日 **</td></tr>"

%>

jlwei 2025-01-08 19:15
报什么错啊?这就是几个简单控件,直接写出来啊。为啥还要动态的。

fccuuk 2025-02-13 10:42
现在这些代码的问题可以直接扔给Kimi或者豆包,一般多调试几次也都能找到相应的解决方案的。

fccuuk 2025-02-13 10:46
fccuuk:现在这些代码的问题可以直接扔给Kimi或者豆包,一般多调试几次也都能找到相应的解决方案的。 (2025-02-13 10:42) 

比如文字是我直接扔给Kimi后它的答案,我也不懂代码啥的,但是我觉得现在AI最强的地方就是编程改代码(毕竟做AI的程序员最方便的就是喂各种程序给AI去理解),所以建议善用现有工具吧。
=======================================================================
要实现显示从1950年到2025年的年份,你需要调整代码中的 startyear 的计算方式。目前代码中 startyear=currentyear-50 是用来计算起始年份的,但如果你想从1950年开始,直接设置 startyear 为1950即可,而不是通过减去一个固定的值来计算。
以下是修改后的代码:
asp复制
<%
Response.write "<tr Class=LightTableBody>" & _
        "<td>您的生日<BR>以公历为准</td>" & _
        "<td nowrap><Select name=year size=1>"

currentyear = cint(year(date()))
startyear = 1950 ' 直接设置起始年份为1950

for i = startyear to currentyear
    Response.write "<option value=" & i
    if i = currentyear - 22 Then Response.write " selected"
    Response.write ">" & i & "</option>"
next

Response.write "</Select> 年 <Select name=month size=1>"

for i = 1 to 12
    Response.write "<option value=" & i
    if i = 6 Then Response.write " selected"
    Response.write ">" & i & "</option>"
next

Response.write "</Select> 月 <Select name=day size=1>"

for i = 1 to 31
    Response.write "<option value=" & i
    if i = 15 Then Response.write " selected"
    Response.write ">" & i & "</option>"
next

Response.write "</Select> 日 **</td></tr>"

%>
修改说明:
直接设置 startyear:
将 startyear = currentyear - 50 改为 startyear = 1950。这样可以直接指定起始年份为1950,而不是通过减去一个固定值来计算。
循环范围:
循环范围从 startyear 到 currentyear,即从1950年到当前年份(2025年)。
注意事项:
如果当前年份是2025年,那么循环范围是从1950到2025。
如果你希望在某个特定年份(比如1950年)被选中,需要调整 if i = currentyear - 22 这一行的逻辑。目前的逻辑是默认选中当前年份减去22年的选项,你可以根据需要调整这个值。
通过这种方式,你可以确保下拉框中显示从1950年到2025年的所有年份。


查看完整版本: [-- 请教老师 --] [-- top --]


Powered by www.wdsz.net v8.7.1 Code ©2005-2018www.wdsz.net
Gzip enabled


沪ICP备:05041533号