看这个
http://blog.csdn.net/twt326/archive/2004/11/15/182854.aspx

解决方案 »

  1.   

    关于联动类的代码:
    给个城市类的三框联动代码给你研究,具体思路是由JS从服务器上得到新的数据后插入页面。
    关于联动类的代码:
    给个城市类的三框联动代码给你研究,具体思路是由JS从服务器上得到新的数据后插入页面。
    这是联动页代码:
    <!-- 这个JS负责执行函数 GETDATAW 从数据“推 送”页得到的JS代码,
    功能 是将新产生的下拉框插入到对应的DIV中,以产生新的选 择列表-->
    <script language="JavaScript" id="getareadata"></script>
    <!-- 这个JS负责以不同的参数向数据“推送”页请求生成新的下拉列表框 -->
    <script language="javascript">
    <!--
      function getdataw(id,obj)
        {
     if (obj !="f_qu")
       {
       phpfilename="getareadata.php?id="+id+"&obj="+obj;
       document.getElementById("getareadata").src=phpfilename;
       }
     document.frmfarea.f_areadata.value=id;
     document.frmtj.f_tjid.value=id;
    }
     //-->
    </script>
    <form action="index.php?action=admin_area&act=<? if($_GET[act]=='addd') echo 'tj'; else echo 'xslb';?>" method="post" name="frmfarea">
      <table width="400" border="0" align="center" cellpadding="0" cellspacing="2">
        <tr>
          <td colspan="2" bgcolor="#FFF6E9">请选择地区:</td>
        </tr>
        <tr>
          <td width="72" rowspan="3" bgcolor="#FFF6E9"><div align="center"></div></td>
          <td width="322" bgcolor="#FFF6E9">
      <select name="f_sheng" id="f_sheng" onChange="javascript:getdataw(this.value,this.name);">
            <option value="-1" selected>==请选择省==</option>
      <?php
      $sqlaa="select * from sm_area where aa_upid=0 and aa_uptid=0 order by aa_name";
      $resultaa=@odbc_do($db,$sqlaa);
      while ($rstaa=@odbc_fetch_array($resultaa))
        {
    echo "<option value=\"$rstaa[aa_id]\">$rstaa[aa_name]</option>";
    }
      ?>
          </select></td>
        </tr>
        <tr bgcolor="#FFF6E9">
          <td>   <div id="showshi">
          <select name="f_shi" id="f_shi" onChange="javascript:getdataw(this.value,this.name);">
            <option value="-1" selected>==请选择市==</option>
          </select></div></td>
        </tr>
        <tr bgcolor="#FFF6E9">
          <td><div id="showqu">
          <select name="f_qu" id="f_qu" onChange="javascript:getdataw(this.value,this.name);">
            <option value="-1" selected>==请选择县/区==</option>
          </select></div>
          <input name="f_areadata" type="hidden" id="f_areadata">
          </td>
        </tr>
        <tr align="center" bgcolor="#FFF6E9">
          <td colspan="2"><input type="submit" name="Submit32" value="显示列表"></td>
        </tr>
      </table>
    </form>--------------------下面是数据“推送”页代码
    <?php
    header("Cache-Control: no-store, no-cache,must-revalidate");//必须
    require("config/database.php");
    if ($_GET[obj]=="f_sheng")
      {//如果是省框变动则生成对应此省的市的下拉框代码
        $tdiv="showshi";
    $output="<select name='f_shi' onChange='javascript:getdataw(this.value,this.name);'><option value='-1' selected>==请选择市==</option>";
        $sql="select aa_id,aa_name from sm_area where aa_upid=$_GET[id]";
      }
    else
      {//如果是市框变动则生成对应此市的区的下拉框代码
        $tdiv="showqu";
    $output="<select name='f_qu' onChange='javascript:getdataw(this.value,this.name);'><option value='-1' selected>==请选择县/区==</option>";
        $sql="select aa_id,aa_name from sm_area where aa_upid=$_GET[id]";
      }
    $result=@odbc_do($db,$sql);
    while ($rst=@odbc_fetch_array($result))
    {//生成新的OPTION列表
     $output.="<option value='$rst[aa_id]'>$rst[aa_name]</option>";
    }
    $output.="</select>";
    echo "document.getElementById(\"$tdiv\").innerHTML=\"$output\";";
    //本页生成的JS代码由 id="getareadata" 的JS执行。最后一行即是将生成的SELECT框代码插入到对应的DIV标签中。
    ?>
     挺好用的,你应该可以看懂
    不懂在问
    我用的,挺好用,你只要在相应的地方修改一下就可以了