经典的php二级联动菜单

PHP 专栏收录该内容
76 篇文章 0 订阅

<script language = "JavaScript">   
var onecount;   
onecount=0;   
subcat = new Array();   
<?   
mysql_connect("localhost","root","");   
mysql_select_db( "test" );   
$sql = "select * from subject";   
$result = mysql_query( $sql );   
$count = 0;   
while($res = mysql_fetch_row($result)){   
?>   
subcat[<?=$count?>] = new Array("<?=$res[0]?>","<?=$res[1]?>","<?=$res[2]?>");   
<?   
$count++;   
}   
echo "onecount=$count;";   
?>   
//联动函数   
function changelocation(locationid)   
{   
document.myform.ctype.length = 0;    
var locationid=locationid;   
var i;   
for (i=0;i < onecount; i++)   
       {   
         if (subcat[i][2] == locationid)   
         {    
   //var newOption1=new Option(subcat[i][1], subcat[i][0]);   
            //document.all.ctype.add(newOption1);   
            document.myform.ctype.options[document.myform.ctype.length] = new Option(subcat[i][1], subcat[i][0]);   
         }          
       }   
         
}    
</script>   
<form method="post" name="myform" action="ru_query.php">   
<select name="type" onChange="changelocation(document.myform.type.options[document.myform.type.selectedIndex].value)" size="1">   
<option selected value="">请指定主分类</option>   
         
<?   
$sql = "select * from depart";   
$result = mysql_query( $sql );   
while($res = mysql_fetch_row($result)){   
?>   
<option value="<? echo $res[0]; ?>"><? echo $res[1]; ?></option>   
   <? } ?>   
         
   </select>    
  
<select name="ctype">                   
       <option selected value="">请指定小分类</option>   
</select>   
<input type="submit" name="Submit" value="搜索">   
</form>
   

 数据库机构如下

表depart--------departID departName

表subject-------subjectID subjectName departID


1.通过精选取得数据库的字段并且存入数组
2.定义自定义函数,遍历数组并且使用echo命令把$参数转化成js可以使用的变量
3.在js中使用<?自定义函数?>参数进行传递
4.通过js的new Option重新组织菜单选项


  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

参与评论
请先登录 后发表评论~
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值