网络编程
位置:首页>> 网络编程>> Asp编程>> ASP四级连动下拉列表程序段

ASP四级连动下拉列表程序段

  发布时间:2009-07-03 15:33:00 

标签:列表,联动,asp

<%
sql = "select *  from SMT_addtwo order by SMT_addtwo_id asc"
set rs=server.createobject("ADODB.Recordset")
rs.open sql,conn,1,1
%>
<script language = "JavaScript">
var onecount1;
var onecount2;
var onecount3;

onecount1=0;
onecount2=0;
onecount3=0;

subcat1 = new Array();
subcat2 = new Array();
subcat3 = new Array();

<%
count = 0
do while not rs.eof
%>
subcat1[<%=count%>] = new Array("<%= trim(rs("SMT_addtwo"))%>","<%= trim(rs("SMT_addone_id"))%>","<%= trim(rs("SMT_addtwo_id"))%>");
<%
  count = count + 1
        rs.movenext
        loop
        rs.close
        set rs=nothing
%>
onecount1=<%=count%>;

<%
sql = "select *  from SMT_addthree order by SMT_addthree_id asc"
set rs=server.createobject("ADODB.Recordset")
rs.open sql,conn,1,1

count = 0
do while not rs.eof
%>
subcat2[<%=count%>] = new Array("<%= trim(rs("SMT_addthree"))%>","<%= trim(rs("SMT_addtwo_id"))%>","<%= trim(rs("SMT_addthree_id"))%>");
<%
  count = count + 1
        rs.movenext
        loop
        rs.close
        set rs=nothing
%>
onecount2=<%=count%>;


<%
sql = "select *  from SMT_addfour order by SMT_addfour_id asc"
set rs=server.createobject("ADODB.Recordset")
rs.open sql,conn,1,1

count = 0
do while not rs.eof
%>
subcat3[<%=count%>] = new Array("<%= trim(rs("SMT_addfour"))%>","<%= trim(rs("SMT_addthree_id"))%>","<%= trim(rs("SMT_addfour_id"))%>");
<%
  count = count + 1
        rs.movenext
        loop
        rs.close
        set rs=nothing
%>
onecount3=<%=count%>;

function changelocation1(addone)
    {
    document.addform.addtwo_id.length = 0; 

    var addone_id=addone_id;
    var i;
    document.addform.addtwo_id.options[0] = new Option('请选择省','');
    for (i=0;i < onecount1; i++)
        {
            if (subcat1[i][1] == addone)
            { 
                document.addform.addtwo_id.options[document.addform.addtwo_id.length] = new Option(subcat1[i][0], subcat1[i][2]);
            }        
        }
        
    }

function changelocation2(addtwo)
    {
    document.addform.addthree_id.length = 0; 

    var addtwo_id=addtwo_id;
    var i;
    document.addform.addthree_id.options[0] = new Option('请选择市','');
    for (i=0;i < onecount2; i++)
        {
            if (subcat2[i][1] == addtwo)
            { 
                document.addform.addthree_id.options[document.addform.addthree_id.length] = new Option(subcat2[i][0], subcat2[i][2]);
            }        
        }
        
    }

function changelocation3(addthree)
    {
    document.addform.addfour_id.length = 0; 

    var addthree_id=addthree_id;
    var i;
    document.addform.addfour_id.options[0] = new Option('请选择县','');
    for (i=0;i < onecount3; i++)
        {
            if (subcat3[i][1] == addthree)
            { 
                document.addform.addfour_id.options[document.addform.addfour_id.length] = new Option(subcat3[i][0], subcat3[i][2]);
            }        
        }
        
    }
</script> 

列表控件中的change事件:

<select name="addone_id" onChange="changelocation1(document.addform.addone_id.options[document.addform.addone_id.selectedIndex].value)">
<option value="" selected>选择国家</option>
<%
sql="select *  from SMT_addone order by SMT_addone_id Asc"
set rs=server.createobject("ADODB.Recordset")
rs.open sql,conn,1,1
while not rs.eof%>
<option value="<%=rs("SMT_addone_id")%>"><%=rs("SMT_addone")%></option>
<%
rs.movenext
wend
rs.Close()
%> 
</select>

<select name="addtwo_id"onChange="changelocation2(document.addform.addtwo_id.options[document.addform.addtwo_id.selectedIndex].value)">
<option selected value="">选择省份</option>
</select>

<select name="addthree_id"onChange="changelocation3(document.addform.addthree_id.options[document.addform.addthree_id.selectedIndex].value)">
<option selected value="">选择市区</option>
</select>

<select name="addfour_id">
<option selected value="">选择县区</option>
</select>

0
投稿

猜你喜欢

  • 可能许多同学对SQL Server的备份和还原有一些了解,也可能经常使用备份和还原功能,我相信除DBA之外我们大部分开发员队伍对备份和还原只
  • 工作时需要取得MySQL中一个表的字段是否存在于是就使用Describe命令来判断mysql_connect(localhost, root
  • 尽管现代浏览器已经支持了众多的CSS3属性,但是大部分设计师和开发人员貌似依然在关注于一些很“主流”的属性,如border-radius、b
  • 代码如下:<html>        <head>   &nb
  • 为了把事情变成简单化,我在多个Oracle数据上建立统一的检查数据库账户,并且账户只能访问特定的几个视图(需要查询的sql已生成视图),具体
  • 假设你想找到本书中的某一个句子。你可以一页一页地逐页搜索,但这会花很多时间。而通过使用本书的索引,你可以很快地找到你要搜索的主题。表的索引与
  • 此文用来正式回复大辉同学的疑问。1、结论:固定宽度只适合功能型网站,不适合希望用户认真阅读的浏览型网站。UCD大社区是浏览型网站,它的定位是
  • 很多人喜欢把一个网站中相同的部分象是统一的页面logo,版权声明等做成一个过程,然后放到一个include文件中,这样所有的页面就都可以使用
  • 静态页面由于其稳定性快速性,的确给SE、用户及站长带来了方便。但有时,需要记住用户的信息,如用户留下评论后,下一次再来,就要记住该用户的信息
  • 最近试用mysql proxy,遇到若干问题,好在一一找到了解决方案,列出来备忘。这次使用的版本是0.6.x,也许新版本就没有这些问题了。无
  • 四年前写的一个内容管理系统,应用在公司内部网上,昨天DBA说其中的SQL语句未使用参数化的调用,导致服务器负担加重,资源占用大。并列出了几个
  • 我用FSO生成了unicode的文件,但这不是我想要的。FSO可以生成utf-8格式编码的html文件吗?用什么办法才能生成?FSO的编码问
  • 有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好Google提供了语言工具功能,下面介绍如何利用它来实现网页
  • 在静态页面里需要显示浏览次数的地方加上这个:浏览次数:<SCRIPT language='javascript
  • 阅读上一篇:FrontPage2002简明教程七:HTML在FrontPage中的应用 FrontPage 2002比起以前版本的FronP
  • 如何制作一个分页程序?确实,翻页程序可以相互借鉴,但具体到每一需求,还是有较大差别的。代码入下,供参考:<%language=&quo
  • SVG是XML来描述二维图形的语言。SVG可以构造3种类型的图形对象:矢量图形、位图图象和文字。图形对象可被组化、样式化、变形和重组,包括图
  • CSS代码更清晰高效的一些经验是许多网页制作者与开发者都关心的问题。但是大概没有什么魔法,可以保证一下就把你的样式表缩小到百分之多少,合理的
  • 问题:导入数据时是否需要禁用索引?解答:在使用load data导入数据时,如果导入的表是MyISAM的,对于空表,MySQL数据库会把所有
  • 目前网络数据库的应用已经成为最为广泛的应用之一了,并且关于数据库的安全性,性能都是企业最为关心的事情。数据库渐渐成为企业的命脉,优化查询就解
手机版 网络编程 asp之家 www.aspxhome.com