导读:php实现的二级联动菜单,可以根据自己实际情况修改使用,需要的朋友可以参考一下。
php实现的二级联动菜单,可以根据自己实际情况修改使用,需要的朋友可以参考一下。
<?php
//PHP部分:
//取得下拉联动数据
require("conn.php");
$result=mysql_query("SELECT * FROM units LEFT JOIN users ON (users.unit=units.unid)");
$mx=mysql_num_rows($result);
for ($i=0;$i<$mx;$i++) {
$r=mysql_fetch_array($result);
$uname=$r['uname'];
$unid =$r['unid'];
$usname=$r['username'];
$usid=$r['userid'];
if ($lasun!=$uname) {
$java1=$java1 . ""$uname",";
$java2=$java2 . ""$unid",";
$lasun=$uname;
if ($i>0) {
$java3=$java3 . "],[";
$java4=$java4 . "],[";
}
} else {
$java3=$java3 . ",";
$java4=$java4 . ",";
}
$java3= $java3 . ""$usname"";
$java4= $java4 . ""$usid"";
}
$java1="[" . substr_replace($java1,"",-1) . "]n";
$java2="[" . substr_replace($java2,"",-1) . "]n";
$java3="[[" . $java3 . "]]n";
$java4="[[" . $java4 . "]]n";
//javascript部分
?>
<SCRIPT LANGUAGE="JavaScript" DEFER>
var fMenu = <?=$java1?>
var fValue = <?=$java2?>
var sMenu = <?=$java3?>
var sValue = <?=$java4?>
var oWhere = document.all.tar;
var ofMenu = document.createElement("<SELECT name='unid'>");
var osMenu = document.createElement("<SELECT name='usid'>");
with(oWhere)appendChild(ofMenu),appendChild(osMenu);
createMainOptions();
createSubOptions(0);
ofMenu.onchange = function() {createSubOptions(this.selectedIndex);};
function createMainOptions() {
for(var i=0;i<fMenu.length;i++)ofMenu.options[i] = new Option(fMenu[i],fValue[i]);
}
function createSubOptions(j) {
with(osMenu) {
length=0;
for(var i=0;i<sMenu[j].length;i++)osMenu.options[i] = new Option(sMenu[j][i],sValue[j][i]);
}
}
function checkuser() {
if (document.forms[1].elements[1].value=="") { alert("没有选择用户"); return false; }
}
</SCRIPT>
<!-- 在HTML中引用 -->
<div id="tar" style="display:inline"></div>
<!--
另外附users和units数据表结构
表users:
userid
username
unit
表units:
unid
uname