与服务器交互的写法
<?php
$conn = mysql_connect(); // 连接数据库
mysql_select_db("test"); // 选择库if(!isset($_GET['key'])) { // 检查是否有传递参数
  $sql = "select * from list where type=''"; 
  $rs = mysql_query($sql);
  $str = "";
  while($row = mysql_fetch_array($rs)) // 循环构造初始信息
    $str .= "<option value='{$row['name']}'>{$row['name']}\n";
}else { // 有,产生脚本代码
  $sql = "select * from list where type='{$_GET['key']}'";
  $rs = mysql_query($sql);
  $str = "sele2.options.length = 0;\n";
  while($row = mysql_fetch_array($rs))
    $str .= "sele2.options[sele2.options.length] = new Option('{$row['name']}',{$row['name']});\n";
  echo $str;
  exit;
}
?>
本方法通过改变script标记的src属性来达到动态修改列表框的内容<br>
<script id="sensele" src=""></script>
<script>
function loadsele(v) {
  var s = v.options[v.selectedIndex].value;
  sensele.src = "?key="+s;
}
</script>
<select id="sele1" onchange="loadsele(this)">
<?php echo $str; ?>
</select>
<select id="sele2">
</select>
<span id="view"></span>表结构
CREATE TABLE list (
  type varchar(10) NOT NULL default '',
  name varchar(50) NOT NULL default ''
) TYPE=MyISAM;#
# 导出下面的数据库内容 `list`
#INSERT INTO list VALUES ('', 'A');
INSERT INTO list VALUES ('', 'B');
INSERT INTO list VALUES ('', 'C');
INSERT INTO list VALUES ('A', '1');
INSERT INTO list VALUES ('A', '2');
INSERT INTO list VALUES ('A', '3');
INSERT INTO list VALUES ('B', '4');
INSERT INTO list VALUES ('B', '5');
INSERT INTO list VALUES ('B', '6');
INSERT INTO list VALUES ('C', '7');
INSERT INTO list VALUES ('C', '8');
INSERT INTO list VALUES ('C', '9');

解决方案 »

  1.   

    对不起,我看不太明白!我运行的结果也不准确,sele2里面根本没有任何值返回!
      

  2.   

    请会的朋友帮帮忙吧,我以前一直做应用程序,对web开发不是很熟悉啊!
      

  3.   

    这个很困难的,用iframe吧,一时半会儿说不明白,去晚上找找教程吧,或者直接去看源码我当初是参照www.zol.com.cn的源码一点一点摸出来的
      

  4.   

    用跳转菜单解决吧<?php require_once('conn.php'); //数据库连接文件?>
    <?php 
    mysql_select_db($database_conn, $conn);
    $query_big_cate = "SELECT * FROM list GROUP by type";//选出国家
    $big_cate = mysql_query($query_big_cate, $conn) or die(mysql_error());
    $row_big_cate = mysql_fetch_assoc($big_cate);if($_GET['id']!=""){
    mysql_select_db($database_conn, $conn);
    $query_province = "SELECT * FROM list where type=".$_GET['id'];//按国家选出州名
    $province = mysql_query($query_province, $conn) or die(mysql_error());
    $row_province = mysql_fetch_assoc($province);
    }
    ?><head>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_jumpMenu(targ,selObj,restore){ //v3.0
      eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
      if (restore) selObj.selectedIndex=0;
    }
    //-->
    </script>
    </head><select name="big_cate" id="big_cate" onChange="MM_jumpMenu('parent',this,1)">//国家名
    <option value="">请选择</option>
    <?php do{?>
    <option value="main.php?id=<?php echo $row_big_cate['type'];?>"<?php if($row_big_cate['type']==$_GET['id']){echo " selected";}?>><?php echo $row_big_cate['type'];?></option>
    <?php }while($row_big_cate = mysql_fetch_assoc($big_cate));?>
    </select><select name="province" id="province">//州名
    <?php do{?>
    <option value="<?php echo $row_province['id'];?>"><?php echo $row_province['name'];?></option>
    <?php }while($row_province = mysql_fetch_assoc($province));?>
    </select>