js生成级联下拉列表

来源:互联网 发布:mac不能上chinanet 编辑:程序博客网 时间:2024/04/30 11:58

author:flynetcn

-------------------------------------------------------------

|

<!--#include file="../conn.asp"-->
<html>
<head>
<%
'☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆
'★                                                         ★
'☆    tab_addr_sort为无限级分类地址表,表中有三个字段,分别为    ☆
'★                                                         ★
'☆    addr_sort_id(地址id)、addr_sort(地址名称)、         ☆
'★                                                         ★
'☆    bigsort_id(所属id)                                  ☆
'★                                                         ★
'☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆


'把表中数据写入数组
sql = "select *  from tab_addr_sort order by addr_sort_id desc"
set rs=server.createobject("ADODB.Recordset")
rs.open sql,conn,1,1
%>
<script type="text/javascript">
    var onecount1;
    onecount1=0;
    subcat1 = new Array();
    <%
    count = 0
    do while not rs.eof
    %>
        subcat1[<%=count%>] = new Array("<%= trim(rs("addr_sort"))%>","<%= trim(rs("bigsort_id"))%>","<%= trim(rs("addr_sort_id"))%>");
    <%
        count = count + 1
        rs.movenext
    loop
    rs.close
    %>
    onecount1=<%=count%>;

    //选择第一级列表时触发此函数
    function changelocation1(addrone)
    {
        document.myform.addrtwo_id.length = 0
        var i;
        document.myform.addrtwo_id.options[0] = new Option('请选择市','');
        for (i=0;i < onecount1; i++)
        {
            if (subcat1[i][1] == addrone)
            { 
                document.myform.addrtwo_id.options[document.myform.addrtwo_id.length] = new Option(subcat1[i][0], subcat1[i][2]);
            }        
        }   
    }
</script>
</head>
<body>
<table>
    <tr>
        <td align="right">&nbsp;选择地区:</td>
        <td>&nbsp;
            <select name="addrone_id"

                onChange="changelocation1(          document.myform.addrone_id.options[document.myform.addrone_id.selectedIndex].value)">
                <option value="" selected>请选择省</option>
                <!--生成一级列表-->
                <%
                sql="select *  from tab_addr_sort where bigsort_id=0 order by addr_sort_id desc"
                rs.open sql,conn,1,1
                while not rs.eof
                %>
                    <option value="<%=rs("addr_sort_id")%>"><%=rs("addr_sort")%></option>
                <%
                rs.movenext
                wend
                rs.Close()
                set rs=nothing
                set conn=nothing
                %> 
            </select>
            <select name="addrtwo_id">
                <option selected value="">请选择市</option>
            </select>
        </td>
    </tr>
</table>
</body>
</html>