在数据库中有
contrel国家表
con_id主键
con_name
provent省表
pro_id主键
pro_name
fk_contrel外键指向国家contrel.con_id
有市city城市表
cit_id主键
cit_name
fk_provent外键指向省provent.pro_id
我要把数据从数据库中取出并读取到下拉列表中,怎么做才会在页面上第一个下拉列表选择一个国家第二个下拉列表出现相应的省在第三个下拉列表出现相应的城市

解决方案 »

  1.   

    sample:
    <html>
    <script type="text/jscript" src="js/jquery-1.3.2.min.js" language="jscript"></script><script type="text/javascript">
        window.onload=function(){
            var contrel = document.getElementById("contrel");
            var provent = document.getElementById("provent");
            var city    = document.getElementById("city");
            
            //add contrel item
            addList(contrel , "");
            //add provent item
            contrel.onchange=function(){
                addList(provent , contrel.value);
                city.options.length=0;
                city.options[0]=new Option("-select-","");
            };
            //add city item
            provent.onchange=function(){
                addList(city , provent.value);
            };
            
            function addList(obj , val){
                $.get("photo3.aspx",{id:obj.id, value:val},function(data){
                    var list=eval("("+data+")");
                    obj.options.length=0;
                    obj.options[0]=new Option("-select-","");
                    for(var i=0;i<list.length;i++){
                        obj.options[i+1]=new Option(list[i].value,list[i].id);
                    }
                });
            }
        };
    </script>
    <body>
        <select id="contrel"><option>-select-</option></select>
        <select id="provent"><option>-select-</option></select>
        <select id="city"><option>-select-</option></select>
    </body>
    </html>photo3.aspx:
    <%@ Page aspcompat=true %><% 
        Dim id, value
        
        id = Request("id")
        value = Request("value")
        Select Case id
            Case "contrel"
                'select * from contrel
                Response.Write("[{id:1,value:'America'},{id:2,value:'Japan'},{id:3,value:'Canada'}]")
            Case "provent"
                'select * from provent where fk_contrel='value'
                Select Case value
                    Case 1 : Response.Write("[{id:1,value:'sanfulansisko'},{id:2,value:'washington'},{id:3,value:'laosanglak'}]")
                    Case 2 : Response.Write("[{id:4,value:'tokyo'},{id:5,value:'kyoto'},{id:6,value:'yokohama'}]")
                    Case 3 : Response.Write("[{id:7,value:'syo1'},{id:8,value:'syo2'},{id:9,value:'syo3'}]")
                    Case Else
                        Response.Write("")
                End Select
            Case "city"
                'select * from city where fk_provent='value'
                Select Case value
                    Case 1 : Response.Write("[{id: 1,value:'a1'},{id: 2,value:'a2'},{id: 3,value:'a3'}]")
                    Case 2 : Response.Write("[{id: 4,value:'b1'},{id: 5,value:'b2'},{id: 6,value:'b3'}]")
                    Case 3 : Response.Write("[{id: 7,value:'c1'},{id: 8,value:'c2'},{id: 9,value:'c2'}]")
                    Case 4 : Response.Write("[{id:10,value:'d1'},{id:11,value:'d2'},{id:12,value:'d3'}]")
                    Case 5 : Response.Write("[{id:13,value:'e1'},{id:14,value:'e2'},{id:15,value:'e3'}]")
                    Case 6 : Response.Write("[{id:16,value:'f1'},{id:17,value:'f2'},{id:18,value:'f3'}]")
                    Case 7 : Response.Write("[{id:19,value:'g1'},{id:20,value:'g2'},{id:21,value:'g3'}]")
                    Case 8 : Response.Write("[{id:22,value:'h1'},{id:23,value:'h2'},{id:24,value:'h3'}]")
                    Case 9 : Response.Write("[{id:25,value:'i1'},{id:26,value:'i2'},{id:29,value:'i3'}]")
                    Case Else
                        Response.Write("")
                End Select
            Case Else
                Response.Write("")
        End Select
        
        %>
      

  2.   

    我的资源中有现成的省市县三级联动菜单,而且数据是真实的,还有一个二级的demo方便学习
      

  3.   

    省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs) 示例
    http://blog.csdn.net/downmoon/archive/2010/06/15/5672563.aspx