特急!如何建立动态下拉框!!!!!!

caballer 2000-09-24 03:56:00
如何使两个下拉框产生关联,一个下拉框变化,另一个根据前一个从数据库中选取相应得值.两个框内的数据来自数据库.这个问题困扰我很长了,请各位高手多多帮忙指教!谢谢!!!!
...全文
213 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
caballer 2000-09-30
  • 打赏
  • 举报
回复
thank everybody!问题已经解决,多谢大家帮忙!!!!!!!!
JGTM2000 2000-09-28
  • 打赏
  • 举报
回复
就是,看到最后才有人提XML。。。哎。。
wumou 2000-09-27
  • 打赏
  • 举报
回复
其实这个问题很简单,至少有两种方法。1,采用asp的远程脚本调用,2,采用xml,这两种方法
都可以不离开浏览器而取得服务器上的数据
solomon 2000-09-26
  • 打赏
  • 举报
回复
数据量大???
如果你的网页不能迅速反应, 在高的技术也是白搭.
劝你不要把网页弄的花里胡哨. 想想 Yahoo 为什么有人看就知道了.
ring 2000-09-26
  • 打赏
  • 举报
回复
大哥,所有智囊都为你出主意了。
我来总结一下吧,如果你的数据量不是巨大,而且你需要客户端的快速反应,你完全可以采取我的方法,但是你权衡之后认为会大大影响速度的话就用iframe或者隐藏frame,或者干脆就再刷新一遍吧,呵呵。
总之,决定权在你手中

慢着,我是说,给分的决定权在你手中,呵呵。
huntout 2000-09-26
  • 打赏
  • 举报
回复
caballer:
你說的網站我看了,它用的方法與ring提到的是一樣的。
請注意它的<script language=JavaScript src="Option2.js"></script>

這種方法對於數據量小的時候是很有效的,但是大數據量會導致調入時間很長。那樣的話還是用隱藏frame吧!︰)

你還可以作些處理,將已調出的選項保存起來,速度會很快的!
caballer 2000-09-26
  • 打赏
  • 举报
回复
首先谢谢大家的帮助,但是我知道有一种方法让数据存储在服务器端,每一次改变第一个下拉框后,数据再传到客户端,而且它也没用隐藏帧。我想了解它是如何实现的。
详情可以从下面网址了解:
http://www.auto.sinobnet.com/mall/fautoprohxh.asp?dsn=hcshopping&csflag=&libid=auto_trade&classid=001001&trade=%C6%FB%B3%B5&classname=%B1%A6%C2%ED
linyu 2000-09-26
  • 打赏
  • 举报
回复
差不多就这个样子,但是要考虑数据的多少,如果数据太多,还是使用多个页面。
wjl2000 2000-09-26
  • 打赏
  • 举报
回复
我做的网站中使用了此技术,拷贝一段如下:
技术要点:使用框架网页,第二个列表框在另外一个框架中
如仍有不明之处,Email:wjl7348@sohu.com
<% sub do1
dim co
dim re
dim ChartName
set co=server.CreateObject("adodb.connection")
set re=server.CreateObject("adodb.recordset")
co.Open OBDCName
re.Open "select distinct ofn from kfdbsa" ,co %>
<TABLE border=0 cellPadding=0 cellSpacing=0 align=center width=80%>
<FORM id=form1 name=form1 >
<tr><td>第二步:请选择图表查询条件</td></tr>
<tr><td align=left valign=middle > ◆ 单位名称:<SELECT id=CompanySelect name=CompanySelect class=text1>
<OPTION selected value=集团公司 >集团公司</OPTION>
<%do while not re.EOF%>
<OPTION selected value=<%=re(0)%>><%=re(0)%></OPTION>

<%re.MoveNext
loop
re.close
co.close
%>
</SELECT>
</td></tr>
<TR>
<TD align=left valign=right> ◆ 起始时间:<INPUT id=Starttext name=Starttext value=<%=FirstYear()%> size=4 class=text1>年
<INPUT id=Starttext1 name=Starttext1 value=<%=FirstMonth()%> size=2 class=text1>月
◆ 终止时间:<INPUT id=EndText name=Endtext value=<%=NextYear()%> size=4 class=text1>年
<INPUT id=EndText1 name=Endtext1 value=<%=NextMonth()%> size=2 class=text1>月
</td></tr>
<tr><td>
<INPUT id=Button name=submit1 type=Button value=提交 class=text1><INPUT id=reset1 name=reset1 type=reset value=重来 class=text1></TD></TR></FORM></TABLE>

<% end sub%>

<%sub do2%>
<form name=f1 action=condition.asp target="bottom2" method=post>
<table width="80%" border=0 cellpadding=0 cellspacing=0 align=center >
<tr><td >第二步:请选择图表查询范围:</td></tr>
<tr><td align=left><span><INPUT type="radio" name=radio1 value=1 language=vbscript onclick="call f1.submit()" >石化集团公司</span> 
<span><INPUT type="radio" name=radio1 value=2 language=vbscript onclick="call f1.submit()">管理局</span> 
<span><INPUT type="radio" name=radio1 value=3 language=vbscript onclick="call f1.submit()">油田</span> 
<INPUT type="hidden" id=text1 name=text1 value=<%=ChartName%>>
</td></tr>

</table>
</form>
<%end sub%>

<%sub do3%>
<form name=f1 action=conditioncyrc.asp target="bottom2" method=post>
<table width=80% border=0 cellpadding=0 cellspacing=0 align=center >
<tr><td align=left>第二步:请选择图表查询范围:</td></tr>
<tr><td align=left><span><INPUT type="radio" name=radio1 value=1 language=vbscript onclick="call f1.submit()" >石化集团公司</span> 
<span><INPUT type="radio" name=radio1 value=2 language=vbscript onclick="call f1.submit()">管理局</span> 
<span><INPUT type="radio" name=radio1 value=3 language=vbscript onclick="call f1.submit()">油田</span> <INPUT type="hidden" id=text1 name=text1 value=<%=ChartName%>></td></tr>

</table>
</form>
<%end sub%>
<%sub do4%>
<form name=f1 action=conditionzsl.asp target="bottom2" method=post>
<table width="80%" border=0 cellpadding=0 cellspacing=0 align=center >
<tr><td >第二步:请选择图表查询范围:</td></tr>
<tr><td align=left><span><INPUT type="radio" name=radio1 value=1 language=vbscript onclick="call f1.submit()" >石化集团公司</span> 
<span><INPUT type="radio" name=radio1 value=2 language=vbscript onclick="call f1.submit()">管理局</span> 
<span><INPUT type="radio" name=radio1 value=3 language=vbscript onclick="call f1.submit()">油田</span> <INPUT type="hidden" id=text1 name=text1 value=<%=ChartName%>></td></tr>

</table>
</form>
<%end sub%>
<SCRIPT LANGUAGE=Vbscript>
<!--
Sub GoChart
window.open "drawseries.asp?ChartName="&"<%=ChartName%>"&"&Company="&form1.CompanySelect.value&"&StartDate="&form1.Starttext.value&form1.Starttext1.value&"&EndDate="&Form1.EndText.Value&Form1.EndText1.Value,"_blank"
End Sub
//-->
</SCRIPT>




<P></P></BODY>


</html>
ring 2000-09-25
  • 打赏
  • 举报
回复
碰到我就对了
我最近两个月在做的程序一直用到这个,别说两个,三个的都做了,其实说白了也是很简单的
这其实就是select1一变,select2跟着变,而且还是多值的,也就是它们是一对多的关系
select1可以在页面加载时就在服务器端动态地写好,select2就必须在页面加载时就写动态的写一段jscript代码,把数据都写成客户端的二位数组就行了,其实功夫全在客户端。
以下是我.asp运行后生成的客户端代码的一部分,你看看吧,也许对你有帮助的
<script language=javascript>
var arL2 = new Array();
arL2[0] = new Array();
arL2[0][0] = new Option('化工(0101)','0101');
arL2[0][1] = new Option('电子(0102)','0102');
arL2[0][2] = new Option('机械(0103)','0103');
.......
arL2[1] = new Array();
arL2[1][0] = new Option('台式机(0201)','0201');
arL2[1][1] = new Option('笔记本电脑(0202)','0202');
arL2[1][2] = new Option('掌上电脑(0203)','0203');
......
arL2[2] = new Array();
........
arL2[3] = new Array();
........
........
</script>
<script language="javascript">
function changeL2(theSelect)
{
var i;
document.frmL3.sltL2.innerHTML = "";//删掉原来的所有元素
var arTemp = arL2[theSelect.selectedIndex];
for(i=0;i < arTemp.length; i++)
document.frmL3.sltL2.add(arTemp[i]);//从数组中取出对应于被选一级行业的二级行业的元素放入下拉列表框
}
</script>
.....
<form name=frmL3>
<select name=sltL1 id=sltL1 onchange="changeL2(this)"></select>
<select name=slt2 id=sltL2></select>
</form>

csjj 2000-09-25
  • 打赏
  • 举报
回复
你也可以多次提交:先点击一个按钮提交问题,由asp程序本身处理;
而在程序中根据提交查库并改变刷新。
huntout 2000-09-25
  • 打赏
  • 举报
回复
給你一個思路︰
在頁面建立一個隱藏的iframe,當第一個下拉框變化時,提交頁面到這個iframe,從數據庫中取得數據,傳回javascript到客戶端,改變第二個下拉框的內容。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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