关于下拉菜单的问题

chathy 2003-08-18 06:07:25
请教各位一个小问题,我想用一个下拉菜单,里面的选项分别是:上旬,中旬,下旬。如果点击中旬时,下面会出现11-20这几个数字,并且每个数字后面都有一个文本框,我写了一段js程序,可是总找不到错误,我想这应该是一个很简单的问题,麻烦您给指教以下吧!很着急,非常感谢!
...全文
23 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chathy 2003-08-19
  • 打赏
  • 举报
回复
我把上面的代码改为:<div id="shang" style="display:'none'">
<%for a=1 to 10%>
<tr>
<td><%=a%></td>
<td ><input type="text" name="textfield<%=a%>"></td>
</tr>
<%next%>
</div> 可是还是不行,居然3个循环都执行了,而且点击列表也一点作用不起,是不是onchange没有调用函数selecta()?如果用switch也得要得到列表传过来的值,我不知道怎么得到阿,另外,我觉得上面的程序跟switch差不多,原理一样,可是怎么就不对呀?
剑心 2003-08-19
  • 打赏
  • 举报
回复
如果您的代码就如上面那样,那么的确有错误
<%for a=1 to 10%>
<tr>
<td><div id="shang" style="display:'none'"> <%=a%></div></td>
<td ><div id="shang" style="display:'none'">
<input type="text" name="textfield<%=a%>">
</div></td>
</tr>
<%next%>
在这里,shang这个命名重复了10次。
因此操作时会出错误。
首先,不知道您这是干嘛用的,有没有什么特殊要求,光实现所述的操作是可以的。无须server端参与,client就ok了。
给你个思路如下:
因为选择分为上中下三旬,因此switch一下:
若是上,则循环写从1到10这些数字,再加上您要显示的其他东西
若是中,则循环写从11-20,
若是下,则循环写21-31
不过这里有个月份的问题你可能没有考虑到,因为闰年2月是29天,并且各个月份的天数是不一样的。因此想完善,还有狠多工作要做,只是多一些判断而已。提示可以用数组来存储各个月份,给每个组的月份分配一个天数,然后看当前取得的月份在那个组里,就得到了天数。呵呵
chathy 2003-08-19
  • 打赏
  • 举报
回复
谢谢你hemeng,但是我想要的不是以对话框形式给出结果,而是表格形式的,就是下面我写的这种,可是有错误.
<script language="javascript">
function select(){
var coll = document.all.tags("div");
if (coll!=null) {
for (i=1;i<coll.length;i++)
coll[i].style.display="none";
}
z=form1.riqi.id;
if(z=="01"){
shang.style.display="";
}
else if(z=="02"){
zhong.style.display="";
}
else if(z=="03"){
xia.style.display="";
}
}
//-->
</script>
</head>

<body>
<form name="form1" method="post" action="">
<table width="445" border="0" bgcolor="#ebf4fd" class="font2">
<tr bgcolor="#ebf4fd">
<td colspan="4"> 请选择月份:
<select name="riqi" size="1" length="20" onchange="select()">
<%if cint(day(date))<=10 then%>
<option id="01" value="<%=month(date)%>月(1-10)"><%=month(date)%>月(1-10)</option>
<option id="02" value="<%=month(date)%>月(11-20)"><%=month(date)%>月(11-20)</option>
<%else if cint(day(date))<=20 then%>
<option id="02" value="<%=month(date)%>月(11-20)"><%=month(date)%>月(11-20)</option>
<option id="03" value="<%=month(date)%>月(21-31)"><%=month(date)%>月(21-31)</option>
<%else%>
<option id="03" value="<%=month(date)%>月(21-31)"><%=month(date)%>月(21-31)</option>
<%if cint((month(date)+1)mod 12)=0 then %>
<option id="01" value="12月(1-10)">12月(1-10)</option>
<%else%>
<option id="01" value="<%=(month(date)+1)mod 12%>月(1-10)"><%=(month(date)+1) mod 12%>月(1-10)</option>
<% end if
end if
end if%>
</select> </td>
</tr>
<tr>
<td width="9%">日期</td>
<td width="41%">口令</td></tr>
<%for a=1 to 10%>
<tr>
<td><div id="shang" style="display:'none'"> <%=a%></div></td>
<td ><div id="shang" style="display:'none'">
<input type="text" name="textfield<%=a%>">
</div></td>
</tr>
<%next%>
<%for a=1 to 10%>
<tr>
<td><div id="zhong" style="display:none"> <%=a+10%></div></td>
<td > <div style="display:none">
<input type="text" name="textfield<%=a%>">
</div></td>
</tr>
<%next%>
<%for a=1 to 11%>
<tr>
<td id=xia><div id="xia" style="display:''"> <%=a+20%> </div></td>
<td > <div style="display:''">
<input type="text" name="textfield<%=a%>">
</div></td>
</tr>
<%next%>
</table>
</form>
hemeng 2003-08-18
  • 打赏
  • 举报
回复
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>
<select name="" onChange="alert(this.value)">
<option value="" selected>请选择</option>
<option value="1,2,3,4,5,6,7,8,9,10">上旬</option>
<option value="11,12,13,14,15">中旬</option>
<option value="16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31">下旬</option>
</select>
</body>
</html>

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧