級聯菜單啊,這個效果實在不怎麽樣,每次還都刷新
你在選擇的時候注意看url地址:
選擇河北,再選唐山,地址就這樣了
http://www.souren.net/pages/login.php?state=河北&city=唐山市
明顯是通過get方法傳遞參數給server端,再讀取對應的數據填充到下拉框中。

解决方案 »

  1.   


    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>添加文章</title>
    <script language="javascript">
    <!--
         function changeb(bigname){           location.assign("?bigname=" + bigname);        }
    -->
    </script> 
    </head><body>
    <form name="form1" id="form1" action="newsubclass.php" method="post">
    一级分类:<select onchange="changeb(this.value)" name="state" style="width:150px">
    <option name="state" value="">请选择一级分类</option>
    <?php
    include("conn.php");
    $sql = "select * from class order by cid";
    $query = mysql_query($sql);
    while($result = mysql_fetch_array($query)){
    $cname = $result['cname'];
    $bigname = $result['bigname'];
    $smallname = $result['smallname'];
    ?>
    <option name="bigname" value="<?php echo $cname;?>"><?php echo $cname;?></option>
    <?php }?>
    </select><br /><br />
    二级分类:<select name="smallname" style="width:150px">
    <?php
    $bigname = $_GET['bigname'];
    $sql = "select smallname from subclass where bigname='$bigname'";
    $query = mysql_query($sql);
    while($result = mysql_fetch_array($query)){
    $smallname = $result['smallname'];
    ?>
    <option name="smallname"><?php echo $smallname;?></option>
    <? } ?>
    </select>
    <br />
    <input type="submit" name="submit" value="提交" />
    </form>
    </body>
    </html>
      

  2.   

    我这么写,运行时选择一“一级分类”时对应的“二级分类”是显示出来了,但是“一级分类”那个select总是显示“请选择一级分类”。请问该怎么改过来啊?