动态数据显示的问题!求助高手!! 一种是用层来实现,第二种是把第二个菜单的内容放在javascript的一个数组中,根据第一个下拉菜单的选择,来动态生成第二个菜单的选项 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><META NAME="Author" CONTENT=""><META NAME="Keywords" CONTENT=""><META NAME="Description" CONTENT=""><SCRIPT LANGUAGE="JavaScript"><!--function dep(depID,depName,braID){ this.ID = depID; this.Name = depName; this.braID = braID;}function bra(braID,braName){ this.ID = braID; this.Name = braName; this.Depts = new Array();}var braLst = new Array();var depLst = new Array();braLst[0] = new bra(1,"红地");braLst[1] = new bra(2,"凯德");depLst[0] = new dep(1,"行政部",1);depLst[1] = new dep(2,"开发部",1);depLst[2] = new dep(3,"市场部",1);depLst[3] = new dep(4,"投资部",2);depLst[4] = new dep(5,"证券部",2);depLst[5] = new dep(3,"市场部",2);for (var i=0;i<depLst.length;i++){ for (var j=0;j<braLst.length;j++){ if ( depLst[i].braID==braLst[j].ID){ braLst[j].Depts[braLst[j].Depts.length] = depLst[i]; } }}function getDepts(braID){ var braObj = null; for (var i=0;i<braLst.length;i++){ if (braLst[i].ID == braID) { braObj = braLst[i]; break; } } document.thisForm.depSel.options.length=0; if (braObj != null){ for (var i=0;i<braObj.Depts.length;i++){ var tmp; tmp = new Option(braObj.Depts[i].Name,braObj.Depts[i].ID); document.thisForm.depSel.options[document.thisForm.depSel.options.length] = tmp } }}//--></SCRIPT></HEAD><FORM METHOD=POST ACTION="" name="thisForm"><SELECT NAME="braSel" onchange="getDepts(this.value);"><SCRIPT LANGUAGE="JavaScript"><!-- for (var i=0;i<braLst.length;i++){ document.write("<option value=\"" + braLst[i].ID + "\">" + braLst[i].Name + "</option>"); }//--></SCRIPT></SELECT><SELECT NAME="depSel"></SELECT></FORM><BODY></BODY></HTML> wa sigzh_seagull(不可):你很了不得。我試了你的,行!還有什麼好的界面操作,和表達的方法,拿出來學學 。 XML 版的..... [收自 js 版某位老大]<select name=year></select><select name=month></select><select name=date></select><select name=clock></select><input name=result><script>var arrSel=["year","month","date","clock"];//arrSel定义了要修改的下拉框和xml数据的节点名称</script><xml id=xmldata> <xmldata> <year value="2000"> <month value="4"> <date value="14"> <clock value="一点" /> <clock value="三点" /> </date> <date value="17"> <clock value="一点" /> </date> </month> <month value="5"> <date value="15"> <clock value="一点" /> <clock value="四点" /> <clock value="七点" /> </date> </month> </year> <year value="2001"> <month value="7"> <date value="16"> <clock value="一点" /> <clock value="五点" /> <clock value="九点" /> </date> </month> </year> </xmldata></xml><script>function qswhXml(num){/******* by qiushuiwuhen(2002-5-17) ********/ var i,j,arrTemp=[]; for(i=0;i<num;i++)arrTemp[i]=document.all(arrSel[i]).options[document.all(arrSel[i]).selectedIndex].text if(num==arrSel.length){//这里处理最后的数据。 document.all("result").value="选中了("+arrTemp+")";return; } with(document.all(arrSel[num])){ length=0 var obj=document.all.xmldata.XMLDocument.childNodes[0]; for(i=0;i<num;i++)obj=obj.selectSingleNode(arrSel[i]+'[@value="'+arrTemp[i]+'"]'); for(i=0;i<obj.childNodes.length;i++)options[length++].text=obj.childNodes[i].getAttribute("value"); onchange=new Function("qswhXml("+(num+1)+")"); onchange(); }}qswhXml(0);</script> tmj(革命者)太夸奖了,大家互相学习 我忘了说一点,我的两个下拉列表的数据都是从MYSQL数据库读取的 http://expert.csdn.net/Expert/topic/624/624703.xml?temp=.5870935随便找了一下就找到一个 以下是不是在服務端就把數據放入數組偉到客戶端,(http://expert.csdn.net/Expert/topic/624/624703.xml?temp=.5870935)這是一个关联数据库的动态select,仔细看看<form name="form1" method="post"> <table width="400" cellspacing="0" cellpadding="0"> <tr> <td colspan="2" height="42"> <div align="center">新增工作任務</div> </td> </tr> <tr> <td width="25%"> <div align="right">任務主題</div> </td> <td width="75%"> <input type="text" name="contentname" size="35"> </td> </tr> <tr> <td width="25%"> <div align="right">負責人</div> </td> <td width="75%"> <select name="depart" onchange="sel(form1.depart,IdArr,TextArr)"> </select> <select name="userid" > </select> </td> </tr> <tr> <td colspan="2" height="44"> <div align="center"> <input type="submit" name="submit" value="保存"> <input type="button" name="Submit2" value="離開" onclick="self.close()"> </div> </td> </tr> </table></form><?$R=mysql_query("select departid,departname from depart order by id");$Num=mysql_num_rows($R);echo "<script language=javascript>\n";echo "form1.depart.length=$Num;\n";echo "IdArr=new Array();\nTextArr=new Array();\n";$i=0;while($PArr=mysql_fetch_array($R)){ echo "IdArr[$i]='$PArr[departid]';\n"; echo "TextArr[$i]='$PArr[departname]';\n"; echo "form1.depart.options[$i].value='$PArr[departid]';\n"; echo "form1.depart.options[$i].text='$PArr[departname]';\n"; echo "IdArr[$i]=new Array();\n"; echo "TextArr[$i]=new Array();\n"; $m=0; $SR=mysql_query("select userid,realname from user where department=$PArr[departid]"); while($SArr=mysql_fetch_array($SR)){ echo "IdArr[$i][$m]='$SArr[userid]';\n"; echo "TextArr[$i][$m]='$SArr[realname]';\n"; $m++; } $i++;}echo "</script>\n";?><script language=javascript>sel(form1.depart,IdArr,TextArr);function sel(select,IdArray,TextArray){ index=select.selectedIndex; form1.userid.length=IdArray[index].length; for (n=0;n<IdArray[index].length;n++) { var op=form1.userid.options[n]; op.value=IdArray[index][n]; op.text=TextArray[index][n]; }}</script> 请教php抓取页面的问题 所有的产品都用一个页面(模板页)来生成产品详细信息的页面? php 301 跳转返回的状态码是302~~请教!!谢谢! 想学PHP,求推荐 CURL 抓取页面失败 求:N个结构相同表与另一个不同表关联取法 请大家帮忙修改 在函数中改变全局变量 可以吗? 向高手请教一个使用session的问题! 办公管理子系统中数据库的建立和个模块的具体条目设置问题! javascript偉值給 php 的問題,大家幫忙看看!! 关于file_exists($filename)的使用??急。。请高手关注!
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function dep(depID,depName,braID){
this.ID = depID;
this.Name = depName;
this.braID = braID;
}
function bra(braID,braName){
this.ID = braID;
this.Name = braName;
this.Depts = new Array();
}
var braLst = new Array();
var depLst = new Array();
braLst[0] = new bra(1,"红地");
braLst[1] = new bra(2,"凯德");
depLst[0] = new dep(1,"行政部",1);
depLst[1] = new dep(2,"开发部",1);
depLst[2] = new dep(3,"市场部",1);
depLst[3] = new dep(4,"投资部",2);
depLst[4] = new dep(5,"证券部",2);
depLst[5] = new dep(3,"市场部",2);
for (var i=0;i<depLst.length;i++){
for (var j=0;j<braLst.length;j++){
if ( depLst[i].braID==braLst[j].ID){
braLst[j].Depts[braLst[j].Depts.length] = depLst[i];
}
}
}
function getDepts(braID){
var braObj = null;
for (var i=0;i<braLst.length;i++){
if (braLst[i].ID == braID) {
braObj = braLst[i];
break;
}
}
document.thisForm.depSel.options.length=0;
if (braObj != null){
for (var i=0;i<braObj.Depts.length;i++){
var tmp;
tmp = new Option(braObj.Depts[i].Name,braObj.Depts[i].ID);
document.thisForm.depSel.options[document.thisForm.depSel.options.length] = tmp
}
}
}
//-->
</SCRIPT>
</HEAD>
<FORM METHOD=POST ACTION="" name="thisForm">
<SELECT NAME="braSel" onchange="getDepts(this.value);">
<SCRIPT LANGUAGE="JavaScript">
<!--
for (var i=0;i<braLst.length;i++){
document.write("<option value=\"" + braLst[i].ID + "\">" + braLst[i].Name + "</option>");
}
//-->
</SCRIPT>
</SELECT>
<SELECT NAME="depSel"></SELECT>
</FORM>
<BODY></BODY>
</HTML>
wa sigzh_seagull(不可):
你很了不得。我試了你的,行!還有什麼好的界面操作,和表達的方法,拿出來學學 。
<select name=month></select>
<select name=date></select>
<select name=clock></select>
<input name=result><script>
var arrSel=["year","month","date","clock"];//arrSel定义了要修改的下拉框和xml数据的节点名称
</script><xml id=xmldata>
<xmldata>
<year value="2000">
<month value="4">
<date value="14">
<clock value="一点" />
<clock value="三点" />
</date>
<date value="17">
<clock value="一点" />
</date>
</month>
<month value="5">
<date value="15">
<clock value="一点" />
<clock value="四点" />
<clock value="七点" />
</date>
</month>
</year>
<year value="2001">
<month value="7">
<date value="16">
<clock value="一点" />
<clock value="五点" />
<clock value="九点" />
</date>
</month>
</year>
</xmldata>
</xml><script>
function qswhXml(num){
/******* by qiushuiwuhen(2002-5-17) ********/
var i,j,arrTemp=[];
for(i=0;i<num;i++)arrTemp[i]=document.all(arrSel[i]).options[document.all(arrSel[i]).selectedIndex].text
if(num==arrSel.length){//这里处理最后的数据。
document.all("result").value="选中了("+arrTemp+")";return;
}
with(document.all(arrSel[num])){
length=0
var obj=document.all.xmldata.XMLDocument.childNodes[0];
for(i=0;i<num;i++)obj=obj.selectSingleNode(arrSel[i]+'[@value="'+arrTemp[i]+'"]');
for(i=0;i<obj.childNodes.length;i++)options[length++].text=obj.childNodes[i].getAttribute("value");
onchange=new Function("qswhXml("+(num+1)+")");
onchange();
}
}
qswhXml(0);
</script>
太夸奖了,大家互相学习
(http://expert.csdn.net/Expert/topic/624/624703.xml?temp=.5870935)這是一个关联数据库的动态select,仔细看看
<form name="form1" method="post">
<table width="400" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2" height="42">
<div align="center">新增工作任務</div>
</td>
</tr>
<tr>
<td width="25%">
<div align="right">任務主題</div>
</td>
<td width="75%">
<input type="text" name="contentname" size="35">
</td>
</tr>
<tr>
<td width="25%">
<div align="right">負責人</div>
</td>
<td width="75%">
<select name="depart" onchange="sel(form1.depart,IdArr,TextArr)">
</select>
<select name="userid" >
</select>
</td>
</tr>
<tr>
<td colspan="2" height="44">
<div align="center">
<input type="submit" name="submit" value="保存">
<input type="button" name="Submit2" value="離開" onclick="self.close()">
</div>
</td>
</tr>
</table>
</form>
<?
$R=mysql_query("select departid,departname from depart order by id");
$Num=mysql_num_rows($R);
echo "<script language=javascript>\n";
echo "form1.depart.length=$Num;\n";
echo "IdArr=new Array();\nTextArr=new Array();\n";
$i=0;
while($PArr=mysql_fetch_array($R)){
echo "IdArr[$i]='$PArr[departid]';\n";
echo "TextArr[$i]='$PArr[departname]';\n";
echo "form1.depart.options[$i].value='$PArr[departid]';\n";
echo "form1.depart.options[$i].text='$PArr[departname]';\n";
echo "IdArr[$i]=new Array();\n";
echo "TextArr[$i]=new Array();\n";
$m=0;
$SR=mysql_query("select userid,realname from user where department=$PArr[departid]");
while($SArr=mysql_fetch_array($SR)){
echo "IdArr[$i][$m]='$SArr[userid]';\n";
echo "TextArr[$i][$m]='$SArr[realname]';\n";
$m++;
}
$i++;
}
echo "</script>\n";
?>
<script language=javascript>
sel(form1.depart,IdArr,TextArr);
function sel(select,IdArray,TextArray)
{
index=select.selectedIndex;
form1.userid.length=IdArray[index].length;
for (n=0;n<IdArray[index].length;n++)
{
var op=form1.userid.options[n];
op.value=IdArray[index][n];
op.text=TextArray[index][n];
}
}
</script>