考虑用ajax吧,可以实现这样的功能http://topic.csdn.net/u/20070928/16/103e0129-aade-4849-b425-cb66ce1bd1e3.html
这个给你做参考

解决方案 »

  1.   

    Ajax可以实现
    纯JavaScript也可以实现,但前提是你要查询数据库,所以就必须使用ajax发送请求了
    除非你B的所有内容已经固定,不需要查询数据库
      

  2.   

    楼主的意思是像省份和城市的关系吗?一级菜单是省份,二级的是城市,如果原理是的这样的话,城市可由数据库调出!用ASP+JS
      

  3.   

    <SCRIPT language=JavaScript>
    var city = new Array(
    new Array("合肥-合肥","芜湖-芜湖","蚌埠-蚌埠","巢湖-巢湖","滁州-滁州","淮南-淮南","安庆-安庆","池州-池州","宣城-宣城","马鞍山-马鞍山","黄山-黄山","铜陵-铜陵","宿州-宿州","淮北-淮北","阜阳-阜阳","其它-其它"),
    new Array("北京-北京","其它-其它"),
    new Array("重庆-重庆","其它-其它"),
    new Array("福州-福州","泉州-泉州","三明-三明","漳州-漳州","南平-南平","宁德-宁德","龙岩-龙岩","莆田-莆田","厦门-厦门","其它-其它"),
    new Array("兰州-兰州","其它-其它"),
    new Array("广州-广州","深圳-深圳","佛山-佛山","中山-中山","江门-江门","惠州-惠州","东莞-东莞","汕头-汕头","湛江-湛江","茂名-10","肇庆-11","韶关-12","阳江-13","珠海-14","其它-其它"),
    new Array("南宁-南宁","桂林-桂林","柳州-柳州","其它-其它"),
    new Array("贵阳-贵阳","其它-其它"),
    new Array("海口-海口","三亚-三亚","其它-其它"),
    new Array("石家庄-石家庄","邯郸-邯郸","秦皇岛-秦皇岛","唐山-唐山","沧州-沧州","廊坊-廊坊","保定-保定","张家口-张家口","邢台-邢台","其它-其它"),
    new Array("安阳-安阳","鹤壁-鹤壁","济源-济源","焦作-焦作","开封-开封","洛阳-洛阳","南阳-南阳","平顶山-平顶山","三门峡-三门峡","商丘-商丘","新乡-新乡","信阳-信阳","许昌-许昌","郑州-郑州","周口-周口","驻马店-驻马店","漯河-漯河","濮阳-濮阳"),
    new Array("哈尔滨-哈尔滨","大庆-鸡西","鸡西-鸡西","齐齐哈尔-齐齐哈尔","佳木斯-佳木斯","牡丹江-牡丹江","其它-其它"),
    new Array("杭州-杭州","嘉兴-嘉兴","温州-温州","义乌-义乌","宁波-宁波","湖州-湖州","绍兴-绍兴","台州-台州","丽水-丽水","金华-金华","衢州-衢州","舟山-舟山","其它-其它"),
    new Array("武汉-武汉","襄樊-襄樊","宜昌-宜昌","荆州-荆州","黄石-黄石","荆门-荆门","十堰-十堰","潜江-潜江","仙桃-仙桃","其它-其它"),
    new Array("长沙-长沙","株州-株州","岳阳-岳阳","常德-常德","湘潭-湘潭","娄底-娄底","怀化-怀化","永州-永州","衡阳-衡阳","邵阳-邵阳","郴州-郴州","益阳-益阳","张家界-张家界","吉首-吉首","其它-其它"),
    new Array("呼和浩特-呼和浩特","乌海市-乌海市","海勃湾区-海勃湾区","乌达区-乌达区","海南区-海南区","其它-其它"),
    new Array("南京-南京","无锡-无锡","镇江-镇江","南通-南通","扬州-扬州","盐城-盐城","徐州-徐州","淮阴-淮阴","连云港-连云港","常州-常州","泰州-泰州","苏州-苏州","其它-其它"),
    new Array("南昌-南昌","九江-九江","其它-其它"),
    new Array("长春-长春","吉林-吉林","四平-四平","延吉-延吉","松原-松原","白山-白山","通化-通化","其它-其它"),
    new Array("沈阳-沈阳","大连-大连","金州-金州","瓦房店-瓦房店","庄河-庄河","阜新-阜新","辽阳-辽阳","丹东-丹东","营口-营口","盘锦-盘锦","抚顺-抚顺","本溪-本溪","鞍山-鞍山","锦州-锦州","葫芦岛-葫芦岛","铁岭-铁岭","朝阳-朝阳","其它-其它"),
    new Array("银川-银川","其它-其它"),
    new Array("西宁-西宁","其它-其它"),
    new Array("太原-太原","大同-大同","其它-其它"),
    new Array("西安-西安","咸阳-咸阳","宝鸡-宝鸡","汉中-汉中","其它-其它"),
    new Array("济南-济南","青岛-青岛","日照-日照","东营-东营","潍坊-潍坊","泰安-泰安","淄博-淄博","烟台-烟台","威海-威海","济宁-济宁","滨州-滨州","临沂-临沂","其它-其它"),
    new Array("上海-上海","其它-其它"),
    new Array("成都-成都","泸州-泸州","德阳-德阳","乐山-乐山","绵阳-绵阳","宜宾-宜宾","自贡-自贡","攀枝花-攀枝花","内江-内江","南充-南充","其它-其它"),
    new Array("天津-天津","其它-其它"),
    new Array("拉萨-拉萨","其它-其它"),
    new Array("乌鲁木齐-乌鲁木齐","昌吉-昌吉","伊宁-伊宁","其它-其它"),
    new Array("昆明-昆明","大理-大理","其它-其它"),
    new Array("香港-香港"),
    new Array("澳门-澳门"),
    new Array("台湾-台湾"),
    new Array("其他-其他")
    );
    </SCRIPT>
    <SCRIPT language=JavaScript>
    function changecity(){
    index = Form1.sf.options.selectedIndex-1;
    Form1.city.length = city[index].length;
    for(var i = 0;i<city[index].length;i++)
    {
    var text = city[index][i].split("-");
    Form1.city.options[i].text = text[0];
    Form1.city.options[i].value =text[1];
    }
    }
    </SCRIPT><form name="Form1"> 
                                              <SELECT onchange=changecity() name="sf"> 
                                              <option  selected>选择您的省份</option>
                                              <OPTION value=安徽>安徽</OPTION>
                                              <OPTION value=北京>北京</OPTION>
                                              <OPTION value=重庆>重庆</OPTION>
                                              <OPTION value=福建>福建</OPTION>
                                              <OPTION value=甘肃>甘肃</OPTION>
                                              <OPTION value=广东>广东</OPTION>
                                              <OPTION value=广西>广西</OPTION>
                                              <OPTION value=贵州>贵州</OPTION>
                                              <OPTION value=海南>海南</OPTION>
                                              <OPTION value=河北>河北</OPTION>
      <OPTION value=河南>河南</OPTION>
                                              <OPTION value=黑龙江>黑龙江</OPTION>
                                              <OPTION value=浙江>浙江</OPTION>
                                              <OPTION value=湖北>湖北</OPTION>
                                              <OPTION value=湖南>湖南</OPTION>
                                              <OPTION value=内蒙古>内蒙古</OPTION>
                                              <OPTION value=江苏>江苏</OPTION>
                                              <OPTION value=江西>江西</OPTION>
                                              <OPTION value=吉林>吉林</OPTION>
                                              <OPTION value=辽宁>辽宁</OPTION>
                                              <OPTION value=宁夏>宁夏</OPTION>
                                              <OPTION value=青海>青海</OPTION>
                                              <OPTION value=山西>山西</OPTION>
                                              <OPTION value=陕西>陕西</OPTION>
                                              <OPTION value=山东>山东</OPTION>
                                              <OPTION value=上海>上海</OPTION>
                                              <OPTION value=四川>四川</OPTION>
                                              <OPTION value=天津>天津</OPTION>
                                              <OPTION value=西藏>西藏</OPTION>
                                              <OPTION value=新疆>新疆</OPTION>
                                              <OPTION value=云南>云南</OPTION>
                                              <OPTION value=香港>香港</OPTION>
                                              <OPTION value=澳门>澳门</OPTION>
                                              <OPTION value=台湾>台湾</OPTION>
                                              <OPTION value=其他>其他</OPTION>
                                              </SELECT>
                                              <select name="city"></select>
    </form>其中你可以用ASP改写JS里面new Array的代码连接数据库,用两从FOR语句,希望代码对你有所帮助
      

  4.   

    做了一个asp.net的例子~~
    2个表分别是
    大类表:
    大类序号,大类名称
    1 广东
    2 福建
    3 浙江小类表:
    小类序号,小类名称,所属大类
    1 广州 1
    2 深圳 1
    3 佛山 1
    4 福州 2
    5 厦门 2
    6 泉州 2
    7 杭州 3
    8 宁波 3
    9 义乌 3
    代码<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
    <%@ Import Namespace="System.Data.Sql" %>
    <%@ Import Namespace="System.Data.SqlClient" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
    <select onchange="getSub(this)">
    <%
        SqlConnection conn=new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename='D:\Administrator文档和收藏夹\Visual Studio 2005\WebSites\WebSite2\App_Data\Database.mdf';Integrated Security=True;User Instance=True");
        string sql = "select * from 大类表";
        SqlCommand comm = new SqlCommand(sql,conn);
        conn.Open();
        SqlDataReader reader = comm.ExecuteReader();
        while (reader.Read()){
         %>
         <option value="<%=reader[0] %>"><%=reader[1] %></option>
    <%}
      conn.Close();
         %>
    </select>
    <div id="subDiv"></div>
    </body>
    </html>
    <script type="text/javascript">
    var docCache=[];
    function getSub(list){
        var url="getSub.aspx?selectID="+list.value;
        if(typeof(docCache[url])!="undefined"){
            //读缓存
            readerSub(docCache[url],null);
        }else{
            getDoc(url,readerSub);
        }
    }
    function readerSub(text,url){
        if(url!=null){
            docCache[url]=text;//设置缓存
        }
        document.getElementById("subDiv").innerHTML=text;;
    }
    function getDoc(url,fun){
        var xmlhttp; 
        try{ 
            xmlhttp=new XMLHttpRequest(); 
        }catch(e){ 
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
        } 
        xmlhttp.onreadystatechange=function(){ 
            if(xmlhttp.readyState==4){ 
                    if(xmlhttp.status==200){
                            fun(xmlhttp.responseText,url);
                    } 
            } 
        } 
        xmlhttp.open("get",url,true);
        window.startGetFileTime=new Date();
        xmlhttp.send(); 
    }
    </script>获取子项的~
    getSub.aspx的代码using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.Sql;
    using System.Data.SqlClient;
    using System.Text;
    public partial class getSub : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string selectID = Request.QueryString["selectID"];
            int id = Int32.Parse(selectID);
            if (id > 0)
            {
                SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename='D:\Administrator文档和收藏夹\Visual Studio 2005\WebSites\WebSite2\App_Data\Database.mdf';Integrated Security=True;User Instance=True");
                string sql = "select [小类序号],[小类名称] from [小类表] where [所属大类]=@id";
                SqlCommand comm = new SqlCommand(sql, conn);
                comm.Parameters.AddWithValue("@id", id);
                conn.Open();
                SqlDataReader reader = comm.ExecuteReader();
                StringBuilder sb = new StringBuilder();
                sb.Append("<select id='sub'>");
                while (reader.Read())
                {
                    sb.AppendFormat(@"<option value='{0}'>{1}</option>", reader[0], reader[1]);
                }
                sb.Append("</select>");
                conn.Close();
                Response.Write(sb.ToString());
                Response.End();
            }
        }
    }
      

  5.   

    谢谢大家,已经解决这个问题了,附上我的代码
    <form name=Form4 id=Form4  method=get action=Viewer.php >
    <table id="tblsearch" align="center" BORDER="0" width=780 style="background-image:url(../src/ALL_BG.jpg);background-repeat:no-repeat;background-position-x:355px;background-position-y:205px;">
    <tbody>
    <tr>
    <?
    $Area_code=$_SESSION['areacode'];
    if($Area_code=="00")
    {
    echo " <td class=nt>
    <b>地区</b>
    </td>
    <td class=nc style='width:180px' width=80>
    <select id=Service_area_code onchange=\"Form4.action='Search.php';submit()\" name=Service_area_code style=width:180px>
    <option value='' ";
    if($Service_area_code=='') {echo "selected";}
    echo ">所有地区</option>
        <option value='01' ";
    if($Service_area_code=='01') {echo "selected";}
    echo ">黄浦区</option>
    <option value='03' ";
    if($Service_area_code=='03') {echo "selected";}
    echo ">卢湾区</option>
    <option value='04' ";
    if($Service_area_code=='04') {echo "selected";}
    echo ">徐汇区</option>
             <option value='05' ";
    if($Service_area_code=='05') {echo "selected";}
    echo ">长宁区</option>
             <option value='06' ";
    if($Service_area_code=='06') {echo "selected";}
    echo ">静安区</option>
            <option value='07' ";
    if($Service_area_code=='07') {echo "selected";}
    echo ">普陀区</option>
             <option value='08' ";
    if($Service_area_code=='08') {echo "selected";}
    echo ">闸北区</option>
             <option value='09' ";
    if($Service_area_code=='09') {echo "selected";}
    echo ">虹口区</option>
             <option value='10' ";
    if($Service_area_code=='10') {echo "selected";}
    echo ">杨浦区</option>
             <option value='12' ";
    if($Service_area_code=='12') {echo "selected";}
    echo ">闵行区</option>
             <option value='13' ";
    if($Service_area_code=='13') {echo "selected";}
    echo ">宝山区</option>
             <option value='14' ";
    if($Service_area_code=='14') {echo "selected";}
    echo ">嘉定区</option>
             <option value='15' ";
    if($Service_area_code=='15') {echo "selected";}
    echo ">浦东新区</option>
             <option value='16' ";
    if($Service_area_code=='16') {echo "selected";}
    echo ">金山区</option>
             <option value='17' ";
    if($Service_area_code=='17') {echo "selected";}
    echo ">松江区</option>
             <option value='18' ";
    if($Service_area_code=='18') {echo "selected";}
    echo ">青浦区</option>
             <option value='19' ";
    if($Service_area_code=='19') {echo "selected";}
    echo ">南汇区</option>
             <option value='20' ";
    if($Service_area_code=='20') {echo "selected";}
    echo ">奉贤区</option>
             <option value='30' ";
    if($Service_area_code=='30') {echo "selected";}
    echo ">崇明县</option>
    </select>
    </td>
    ";
    }
    ?>
    <td class=nt width=120>
    <b>场所名称:</b>
    </td>
    <td class=nc>
    <select style="width:180px" id=Service_code name=Service_code class=ipt>

    <?
    $Service_area_code=$_GET['Service_area_code'];

    if($Service_area_code=="")
    {
    $sql_Service_area_code="";
    }
    else $sql_Service_area_code = "AND `Area_code` = '$Service_area_code' "; connsql($db);
    $sql="SELECT * FROM table1 where 1 $sql_Service_area_code";
    $resultValue=mysql_query($sql);
    closesql($db);
    echo "<option value=''>所有地区</option>";
    while ($row=mysql_fetch_array($resultValue))
    {
    echo "<option  value='".$row[code]."'>".$row[name]."</option>";
    }
    ?>
    </select>
    </td>
    </tr>
    </table>
    </form>