//PHP部分:
//取得下拉联动数据
$result=mysql_query("SELECT * FROM units LEFT JOIN users ON (users.unit=units.unid) ORDER BY unsort,usort");
$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
//取得下拉联动数据
$result=mysql_query("SELECT * FROM units LEFT JOIN users ON (users.unit=units.unid) ORDER BY unsort,usort");
$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
异步载入的话可以按照有些论坛的做法“展开贴子列表”
http://bbs.shangdu.com/bbs/home.cgi?func=forumdisplay.cgi&fid=95