现在的位置: 首页 > 综合 > 正文

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

2013年10月08日 ⁄ 综合 ⁄ 共 3447字 ⁄ 字号 评论关闭

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>

抱歉!评论已关闭.