实现两个列表框动态关联

来源:WWW.E68CN.COM 作者:君泽君东莞网络公司 2008-06-21 点击:

【内容摘要】:Type ****************** ID 自动编号,主键 名称 文本,长度合适******************** ID 自动编号,主键 类别 长整形数字,并联 Type 表的 ID 字段 标题 文本,长度合适 conn.asp 连接数据库,这里用 test.mdb 来作测试 ********************************************..

本文关键词:asp

东莞君泽君网络科技公司是东莞十佳网站设计公司之一,具有多年的先进的管理理念以及拥有一批长期从事网页设计的专业网页设计师。我们用精湛技术满足东莞中小企业的网站建设要求,网站设计我们用品牌和实力来说话,我们始终相信“诚信服务客户,专业缔造完美”,为您提供一流的网站制作与网站设计服务,如果客户您想做一个适合网络营销的好网站,那么请来电咨询:0769-89046712   13728246800

想了好久得出的方法,想着很多人都为此问题得不到解决而苦恼,本着代码共享的原则,现公布出来供大家指正(其实不说出来我也难受)。如果您觉得不错请帮忙提提前,好让更多的朋友看到。

君泽君东莞网络公司(www.e68cn.com)认为:此方法绝不是事先将所有记录都写入到页面中再通过脚本过滤,那样虽然简单,但对于大的数据量显然就不适合了,而且还严重浪费资源。

将下面的代码稍作修改即可应用于其它地方,非常方便。

为测试用,先建一名 Test.mdb 的 Access2000 数据库,建立两个表 Type,Title,结构如下:
Type
******************
ID    自动编号,主键
名称  文本,长度合适

Title
********************
ID    自动编号,主键
类别  长整形数字,并联 Type 表的 ID 字段
标题  文本,长度合适

我们的目的是从 Type 表中读取记录并写入到第一个列表框中,并在第一个列表框选择时从 Title 表中过滤出相应记录写入到第二个列表框中,并且可以随时获得第二列表框所选的值。

关键:在 B.asp 放置一隐藏域,来存放第二列表框所选的值,在 A.asp 中通过脚本来访问该隐藏域的值来达到跨页面读取数值的目的。

’********************************************************
’  conn.asp   连接数据库,这里用 test.mdb 来作测试
’********************************************************
<%
    dim conn
    dim connstr

    Set conn = Server.CreateObject("ADODB.Connection")
    connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("/test.mdb")
    conn.Open connstr
%>

’********************************************************
’  A.asp   主页面,内嵌 B.asp(第二列表框在B.asp页面)
’********************************************************
<!--#include file="conn.asp"-->

<table>
    <tr><td>
    
    <form method="POST" action="">
<%
  
    Dim I,FirstID
    I=1
    Set Rs= Server.CreateObject("ADODB.Recordset")
    SQL="SELECT * FROM Type;"
    RS.Open SQL,Conn,1,1
    
    Response.Write "第一列表框 <select size=’1’ ID=’A’ name=’A’ OnChange=’VBScript:ChangType’>"
    
    DO While Not RS.Eof
        Response.Write "<option value=’" & RS("ID") & "’>" &
RS("名称") & "</option>"
        RS.MoveNext
    Loop
    
    Response.Write "</select>"
%>
<P><IFRAME HEIGHT="22" WIDTH="300" FRAMEBORDER=NO MARGINHEIGHT=0 SRC="B.asp?ID=1" ID="TitleFrame"></IFRAME></P>
<P><input type=’button’ onclick=’vbscript:Show.innerText="选择的值是:" & Document.Frames(0).Document.All.H.value’ value=’查看第二列表框所选值’></P>
</Form>
    </td></tr><tr><td ID="Show"></td></tr>
</table>

<Script Language=VBScript>
  Sub ChangType
    TitleFrame.Location.Replace("B.asp?ID=" & Document.All.A.Value)
  End Sub
</Script>

<%
RS.Close
Set RS=Nothing
Conn.Close
Set Conn=Nothing
%>

’********************************************************
’  B.asp   第二列表框所在页面,内嵌于 A.asp
’********************************************************
<!--#include file="Conn.asp"-->
<%
    TypeID=Trim(Request.QueryString("ID"))

      Dim RS
      Set RS= Server.CreateObject("ADODB.Recordset")
      SQL="SELECT * FROM Title Where 类别=" & TypeID & ";"
      RS.Open SQL,Conn,1,1
      
        Response.Write "第二列表框 <select size=’1’ name=’B’ ID=’B’ OnChange=’H.value=this.options[this.selectedIndex].value’>"
      
      Do While Not RS.Eof
          Response.Write "<option value=’" & RS("ID") & "’>" & RS("标题") & "</option>"
        RS.MoveNext
      Loop
     &nb
p;
      Response.Write "</select>"
      
      RS.Close
      Set RS=Nothing
      Conn.Close
      Set Conn=Nothing
%>
<input type="hidden" name="H">
<script Language="vbscript">
H.value=B.options(B.selectedIndex).value
</script>

TAGS:asp

上一篇:查看ASP的JavaScript程序,方便大家学习ASP程序 下一篇:ASP程序设计精华文摘收集

相关文章
无锡市前洲测量仪器厂
网站建设制作网页设计常见问题连载之:一个asp简单分页程序
网站建设制作网页设计常见问题连载之:ASP程序员注意的一些问题
网站建设制作网页设计常见问题连载之:ASP技术总结(asp基础)
网站建设制作网页设计常见问题连载之:IIS访问ASP页面时出现在错误The requested resource is in use
网站建设制作网页设计常见问题连载之:ASP基础教程:ASP内建对象Server
网站建设制作网页设计常见问题连载之:ASP基础教程:数据库查询语言(1)
网站建设制作网页设计常见问题连载之:ASP基础教程:数据库查询语言(2)
网站建设制作网页设计常见问题连载之:ASP基础教程:常用的 ASP ActiveX 组件
网站建设制作网页设计常见问题连载之:在ASP中使用数据库
我们的优势           

                一流的策划

君泽君具有专业的网站策划和网站建设经验,优秀的网站建设团队,为企业提供高品质的建站网络营销优质服务。

                一流的产品

君泽君依据客户要求实行按需求进行策划与报价,建设网站送SEO优化服务,购买搜索引擎优化排名服务即送网站,打造一流的企业信息平台。

                一流的服务

君泽君拥有一支年轻充满朝气的项目团队,他们分别是专业的设计师、程序员、电子商务专家、销售工程师及策划精英,都是有着多个大型产品或项目的项目管理、前期需求调研、系统架构设计及开发工作经验的 IT人士。

网站推广            
google网站推广 搜狐网站推广
网易网站推广 新浪网站推广 雅虎网站推广
客户案例目录         
热门推荐         

网站首页 | 关于我们 | 服务价格 | 建站方案 | 成功案例 | 工作机会 | 联系我们 | 友情链接

版权所有 ? 东莞网站建设网页制作设计网 鄂ICP备08004324号
服务电话: 0769-89046712 传真:0769-81763536
君泽君(东莞)网络公司