页面无刷新多框联动代码

类别:编程语言 点击:0 评论:0 推荐:

关于联动类的代码:
给个城市类的三框联动代码,具体思路是由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>

--------------------下面是数据“推送”页 getareadata.php 代码
<?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标签中。
?>

本文地址:http://com.8s8s.com/it/it25376.htm