PHP 下拉列表 转载的别人的不是原创,只为技术交流.如有侵权 请通知, 即删除

php+js实现省市[select下拉列表]二级关联菜单效果
<head>
<meta http-equiv="Content-Type" ontent="text/html; charset=gb2312" />
<title>表单元素[select下拉列表]制作二级联动菜单</title>
<?php
$link = mysql_connect('localhost','root','root') or die( mysql_error());
  mysql_select_db('cshouse',$link) or die('db error');
  mysql_query("set Names'gbk'");
  /*$sql = "Select * from zgy_classplace where upid=0 order by id asc";
  $result = mysql_query( $sql );
  $i =1;
  $count = mysql_num_rows( $result );
  $b=',';
  while( $rs = mysql_fetch_array( $result  ) )
  {
   if( $i==$count ){ $b =''; }
   echo " new Array("$rs[id]","$rs[cntitle]")$b nt";
   $i++;
  }
  echo ");";
  */
 
  ?>
<script language="javascript">
//下面函数是演示二,联动菜单的处理代码
function makeplace_a(x){
    var form2=document.wane_search.one.options.length;//这句解释同上
    var wane_searchl=new Array(form2)//新建一个数组,项数为第一个下拉列表的项数
    for(i=0;i<form2;i++)//循环第一个下拉列表的项数那么多次
        wane_searchl[i]=new Array();//子循环
        //下面是给每个循环赋值 
    var place_a=document.wane_search.place_a;//方便引用

 <?php
  $sql = "Select * from zgy_classplace where upid=0 ";
  $result = mysql_query( $sql );
  $j =1;
  while( $rs = mysql_fetch_array( $result ) )
  {
  
   $sql = mysql_query("Select * from zgy_classplace where upid='$rs[id]' and upid<>0") ;
   $i =0;
 
   while( $p =mysql_fetch_array( $sql ) )   {
   
     echo "wane_searchl[$j][$i] = new Option("$p[cntitle]","$p[id]"); nt";
     $i++;
    
   
   }
   $j++;
  }
 ?>
    for(m=place_a.options.length-1;m>0;m--)
    //这个要看清楚,因为要重新填充下拉列表的话必须先清除里面原有的项,清除和增加当然是有区别的了,所以用递减
        place_a.options[m]=null;//将该项设置为空,也就等于清除了
    for(j=0;j<wane_searchl[x].length;j++){//这个循环是填充下拉列表
        place_a.options[j]=new Option(wane_searchl[x][j].text,wane_searchl[x][j].value)
        //注意上面这据,列表的当前项等于 新项(数组对象的x,j项的文本为文本,)
    }
    place_a.options[0].selected=true;//设置被选中的初始值
}
</script>
</head>
<body>
<form id="form20" name="wane_search" method="post" action="">
  <select name="one" size="1" οnchange="makeplace_a(options.selectedIndex)">
  <option value="">---请选择省份---</option>
  <?php
    $sql_pr = "Select * from zgy_classplace where upid=0";
  $result_pr = mysql_query( $sql_pr );
  while( $rs_pr = mysql_fetch_array( $result_pr ) )
  {
   echo "<option value=$rs_pr[id]>$rs_pr[cntitle]</option> nt";
  }
  ?>  
  </select>
  <select name="place_a">
  <option value="">---请选择城市---</option>
   
  </select>
  <label>
  <input type="submit" name="Submit" value="提交">
  </label>
</form>
<?php
if($_POST)
{
 print_r($_POST);
}

?>
</body>
</html>

更多详细内容请查看:http://www.111cn.net/phper/21/b4f0361395a663629aa67ef24cf5d544.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值