特急!关于下拉框

chxzll 2002-11-26 04:30:10
一个会议室库中的表meetingroom中的两个字段:名称,占用时间,名称字段做成<select>形式,想实现占用时间根据名称来决定,这两个字段均作为td出现,特急,谢谢!!!
<td width="71" height="22" bgcolor="#FFFFFF">
<%if not RsM.eof then%>
<select name="dept" onchange="javascript:aaa()">
<option id="dep<%=i%>" selected><%=RsM("申请单位")%></option>
<%
RsM.movenext
do while not RsM.eof
%>
<option id="dep<%=i%>"><%=RsM("申请单位")%></option>
<%
RsM.movenext
loop
%>
</select>
<%end if%>
</td>
<td width="341" height="22" bgcolor="#FFFFFF">显示时间</td>
...全文
37 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
chxzll 2002-11-27
  • 打赏
  • 举报
回复
多谢你了,我改用静态的了,把所有的都罗列出来,我实在是没时间研究了,多谢,结帖了!
seabell 2002-11-27
  • 打赏
  • 举报
回复
还不行我也不知道了
<script language="javaScript">
mytime=new Array();j=0;
function aaa(jj,ii)
{
document.all("showtime"+jj).innerHTML=mytime[jj][ii];
}
</script>
<%
do while not rs.eof
set RsM = Server.CreateObject("ADODB.RecordSet")
sqlM = "select * from 会议 where 占用会议室='" & Rs("名称") & "'"
RsM.open sqlM,conn,1,1
%>
<script>
mytime[j]=new Array();i=0;
<%
do while not RsM.eof%>
mytime[j][i++]='<%=RsM("开始时间")%>';
<%
RsM.movenext
loop
%>
</script>
<tr>
<td width="97" height="22" bgcolor="#FFFFFF" style="word-break: break-all"><font color="#000000"><%=Rs("名称")%></font></td>
<td width="52" height="22" bgcolor="#FFFFFF" style="word-break: break-all">
<font color="#000000">
<%
if Rs("状态")="0" then
response.write "占用"
else
response.write "未占用"
end if
%>
</font>
</td>
<td width="71" height="22" bgcolor="#FFFFFF" style="word-break: break-all">
<%
RsM.movefirst
if not RsM.eof then%>
<select name="dept" onchange="javascript:aaa(j,this.selectedIndex)">
<option selected>选择申请单位:</option>
<%
do while not RsM.eof
%>
<option><%=RsM("申请单位")%></option>
<%
RsM.movenext
loop
%>
</select>
<%end if%>
</td>
<td width="341" height="22" bgcolor="#FFFFFF" style="word-break: break-all" id=eval("showtime"+j)><%=a%></td>
</tr>
<script>
j++;
</script>
<%
Rs.movenext
loop
%>
chxzll 2002-11-27
  • 打赏
  • 举报
回复
可能还是数组的原因,
function aaa(j,i)
{
alert(mytime[j][i]);
}
提示undefined
chxzll 2002-11-27
  • 打赏
  • 举报
回复
<td width="341" height="22" bgcolor="#FFFFFF" style="word-break: break-all" id=eval("showtime"+j++)><%=a%></td>
我想问一下,此处的eval是函数吗?那是不是应该加点什么?
chxzll 2002-11-27
  • 打赏
  • 举报
回复
document.all("showtime"+j).innerHTML=mytime[j][i];
提示document.all(...)为空或不是对象:(
seabell 2002-11-27
  • 打赏
  • 举报
回复
这样
<script language="javaScript">
mytime=new Array();j=0;
function aaa(j,i)
{
document.all("showtime"+j).innerHTML=mytime[j][i];
}
</script>
<%
do while not rs.eof
set RsM = Server.CreateObject("ADODB.RecordSet")
sqlM = "select * from 会议 where 占用会议室='" & Rs("名称") & "'"
RsM.open sqlM,conn,1,1
%>
<script>
mytime[j]=new Array();i=0;
<%
do while not RsM.eof%>
mytime[j][i++]='<%=RsM("开始时间")%>';
<%
RsM.movenext
loop
%>
</script>
<tr>
<td width="97" height="22" bgcolor="#FFFFFF" style="word-break: break-all"><font color="#000000"><%=Rs("名称")%></font></td>
<td width="52" height="22" bgcolor="#FFFFFF" style="word-break: break-all">
<font color="#000000">
<%
if Rs("状态")="0" then
response.write "占用"
else
response.write "未占用"
end if
%>
</font>
</td>
<td width="71" height="22" bgcolor="#FFFFFF" style="word-break: break-all">
<%
RsM.movefirst
if not RsM.eof then%>
<select name="dept" onchange="javascript:aaa(j,this.selectedIndex)">
<option selected>选择申请单位:</option>
<%
do while not RsM.eof
%>
<option><%=RsM("申请单位")%></option>
<%
RsM.movenext
loop
%>
</select>
<%end if%>
</td>
<td width="341" height="22" bgcolor="#FFFFFF" style="word-break: break-all" id=eval("showtime"+j++)><%=a%></td>
</tr>

<%
Rs.movenext
loop
%>
seabell 2002-11-27
  • 打赏
  • 举报
回复
既是这样那就用二维数组吧
<script language="javaScript">
mytime=new Array();j=0;
function aaa(j,i)
{
document.all.showtime.innerHTML=mytime[j][i];
}
</script>
<%
do while not rs.eof
set RsM = Server.CreateObject("ADODB.RecordSet")
sqlM = "select * from 会议 where 占用会议室='" & Rs("名称") & "'"
RsM.open sqlM,conn,1,1
%>
<script>
mytime[j]=new Array();i=0;
<%
do while not RsM.eof%>
mytime[j][i++]='<%=RsM("开始时间")%>';
<%
RsM.movenext
loop
%>
</script>
<tr>
<td width="97" height="22" bgcolor="#FFFFFF" style="word-break: break-all"><font color="#000000"><%=Rs("名称")%></font></td>
<td width="52" height="22" bgcolor="#FFFFFF" style="word-break: break-all">
<font color="#000000">
<%
if Rs("状态")="0" then
response.write "占用"
else
response.write "未占用"
end if
%>
</font>
</td>
<td width="71" height="22" bgcolor="#FFFFFF" style="word-break: break-all">
<%
RsM.movefirst
if not RsM.eof then%>
<select name="dept" onchange="javascript:aaa(j++,this.selectedIndex)">
<option selected>选择申请单位:</option>
<%
do while not RsM.eof
%>
<option><%=RsM("申请单位")%></option>
<%
RsM.movenext
loop
%>
</select>
<%end if%>
</td>
<td width="341" height="22" bgcolor="#FFFFFF" style="word-break: break-all" id="showtime"><%=a%></td>
</tr>

<%
Rs.movenext
loop
%>
chxzll 2002-11-27
  • 打赏
  • 举报
回复
还有一个问题就是
<td width="341" height="22" bgcolor="#FFFFFF" style="word-break: break-all" id="showtime"><%=a%></td>
所有的td的id均为showtime
:(
chxzll 2002-11-27
  • 打赏
  • 举报
回复
是这样的,一共两个表Rs为"会议室",记录了所有会议室的名称及基本情况,RsM为"申请会议室",记录各申请记录,首先从会议室中列出所有的会议室名称,可能一个会议室有好多部门申请,所以在RsM中可能有多条记录对应一个Rs
seabell 2002-11-26
  • 打赏
  • 举报
回复
你这么多的循环把我弄糊涂了,把数组定义放循环前面来试试
<script language="javaScript">
mytime=new Array();i=0;
<%
do while not rs.eof
set RsM = Server.CreateObject("ADODB.RecordSet")
sqlM = "select * from 会议 where 占用会议室='" & Rs("名称") & "'"
RsM.open sqlM,conn,1,1
%>
chxzll 2002-11-26
  • 打赏
  • 举报
回复
把mytime设置成数组变量能解决吗?每个Rs设置一个mytime(I),在Rs.loop之前将i+1,这样如何?能解决吗?
chxzll 2002-11-26
  • 打赏
  • 举报
回复
共8条记录,我把
alert(mytime[1]);
放在function前,页面显示9次提示,第一条正确,其余8次全是undefined
chxzll 2002-11-26
  • 打赏
  • 举报
回复
我好像明白了,跟外面的那层循环有关,mytime的值被下一个循环冲了,那我应该放哪 呢?
<%
do while not rs.eof
set RsM = Server.CreateObject("ADODB.RecordSet")
sqlM = "select * from 会议 where 占用会议室='" & Rs("名称") & "'"
RsM.open sqlM,conn,1,1
%>
<script language="javaScript">
mytime=new Array();i=0;
<%
do while not RsM.eof%>
mytime[i++]='<%=RsM("开始时间")%>';
<%
RsM.movenext
loop

%>
alert(mytime[1]);
function aaa(j)
{

document.all.showtime.innerHTML=mytime[j];
}

</script>
<tr>
<td width="97" height="22" bgcolor="#FFFFFF" style="word-break: break-all"><font color="#000000"><%=Rs("名称")%></font></td>
<td width="52" height="22" bgcolor="#FFFFFF" style="word-break: break-all">
<font color="#000000">
<%
if Rs("状态")="0" then
response.write "占用"
else
response.write "未占用"
end if
%>
</font>
</td>
<td width="71" height="22" bgcolor="#FFFFFF" style="word-break: break-all">
<%
RsM.movefirst
if not RsM.eof then%>
<select name="dept" onchange="javascript:aaa(this.selectedIndex)">
<option selected>选择申请单位:</option>
<%
do while not RsM.eof
%>
<option><%=RsM("申请单位")%></option>
<%
RsM.movenext
loop
%>
</select>
<%end if%>
</td>
<td width="341" height="22" bgcolor="#FFFFFF" style="word-break: break-all" id="showtime"><%=a%></td>
</tr>

<%
Rs.movenext
loop
%>
seabell 2002-11-26
  • 打赏
  • 举报
回复
有问题
你说一下有几条记录
chxzll 2002-11-26
  • 打赏
  • 举报
回复
没值,显示undefined
chxzll 2002-11-26
  • 打赏
  • 举报
回复
我在
mytime[i++]='<%=RsM("开始时间")%>';
语句后加了一条
alert(i)
结果显示三次,分别为1,2,1不知为什么,不是应该显示2次吗?
seabell 2002-11-26
  • 打赏
  • 举报
回复
试试alert有值吗
function aaa(j)
{
alert(mytime[j]);
document.all.showtime.innerHTML=mytime[j];
}
chxzll 2002-11-26
  • 打赏
  • 举报
回复
对,select内容正确,就是onchange没反应
seabell 2002-11-26
  • 打赏
  • 举报
回复
select的下拉是不是都出来了
是onchange时没有显示相应的时间吗
chxzll 2002-11-26
  • 打赏
  • 举报
回复
<%
do while not rs.eof
set RsM = Server.CreateObject("ADODB.RecordSet")
sqlM = "select * from 会议 where 占用会议室='" & Rs("名称") & "'"
RsM.open sqlM,conn,1,1
%>
<script>
mytime=new Array();i=0;
<%RsM.movefirst
do while not RsM.eof%>
mytime[i++]='<%=RsM("开始时间")%>';
<%
RsM.movenext
loop
%>
function aaa(i)
{
document.all.showtime.innerHTML=mytime[i];
}

</script>
<tr>
<td width="97" height="22" bgcolor="#FFFFFF" style="word-break: break-all"><font color="#000000"><%=Rs("名称")%></font></td>
<td width="52" height="22" bgcolor="#FFFFFF" style="word-break: break-all">
<font color="#000000">
<%
if Rs("状态")="0" then
response.write "占用"
else
response.write "未占用"
end if
%>
</font>
</td>
<td width="71" height="22" bgcolor="#FFFFFF" style="word-break: break-all">
<%
RsM.movefirst
if not RsM.eof then
i=1%>
<select name="dept" onchange="javascript:aaa(this.selectedIndex)">
<option selected><%=RsM("申请单位")%></option>
<%
RsM.movenext
do while not RsM.eof
i=i+1
%>
<option><%=RsM("申请单位")%></option>
<%
RsM.movenext
loop
%>
</select>
<%end if%>
</td>
<td width="341" height="22" bgcolor="#FFFFFF" style="word-break: break-all" id="showtime"></td>
</tr>
加载更多回复(4)

87,972

社区成员

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

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