急,请问下在一个页面里怎么传值?

例如, 在一个页面里有两个列表/菜单,第一个显示省,第二个显示市,如何在第一个列表/菜单选择完后,将它的选择结果传给第二个列表/菜单。

谢谢!!!

qq_花开花谢_0
浏览 81回答 3
3回答

湖上湖

这得看你用什么语言编程如果是.net的话可以设置控件的AutoPostBack为true如果是asp的话可以在第一个显示省的控件上添加一个事件如:onchange()然后在调用javascript之类的东西,就可以了如果是其它语言编程,那另有办法。

交互式爱情

与数据库相连的二级下拉菜单完整代码文件select.asp代码如下:<!--#include file="conn.asp"--><%mysql="select * from city order by city_name asc "'这是二级菜单的数据来源set rsh2 =server.createobject("ADODB.Recordset")rsh2.open mysql,conn,1,2rsh2.movefirstm=0x=0%><script language="javascript">subcat = new Array();//建立一个数组<%while not rsh2.eofname1="'"&rsh2("city_sheng")&"'"//相关联的值name2="'"&rsh2("city_name")&"'"//取得第二级显示内容和菜单的值%>subcat[<%=m%>] = new Array(<%=name2%>,<%=name1%>,<%=name2%>);//第一个元素标识一级,第二个元素是显示的内容,每三个为这个元素的值相当于value<%rsh2.movenextm=m+1x=x+1//计算选项元素的个数wend%>var onecount;onecount=0;onecount=<%=x%>;function changelocation(locationid)//这个函数是用来根据第一个下拉菜单来改变第二个下拉菜单的显示,locationid是一级下拉菜单的value值{document.myform.Nclassid.length = 0;&nbsp;//Nclassid为第二级下拉菜单的name,此句将第二级下拉菜单的长度清零,即当没有任何选择的时候,显示为空var locationid=locationid;//取得第一个下拉菜单的值var i;for (i=0;i < onecount; i++){if (subcat[i][1] == locationid)//当二个下拉菜单的值等于第一个下拉菜单的关联值时,即建立option对象,生成第二级下拉菜单项{&nbsp;document.myform.Nclassid.options[document.myform.Nclassid.length] = new Option(subcat[i][0], subcat[i][2]);//当第二级菜单生成一个下拉项时,document.myform.Nclassid.length的值会自动增加,即会自动生成一个下拉菜单项,subcat[i][0]为option中的value,subcat[i][2]为option显示的值,在这里,这两个值是相同的}&nbsp;}}</script><form name="myform"><tr><td><select name="classid" onChange="changelocation(document.myform.classid.options[document.myform.classid.selectedIndex].value);"><%'onChange是一个会根据内容改变而触发的事件,当select下拉菜单的内容改变了,就会执行changelocation()这个函数'以下是通过数据库来取得第一个下拉菜单的显示内容和值response.write"<option >请选择</option>"set rs=server.createobject("adodb.recordset")sql="select * from sheng order by sheng_id"rs.open sql,conn,3,1rs.movefirstwhile not rs.eofresponse.write "<option value="&rs("sheng")&">"&rs("sheng")&"</option>"rs.movenextwendset rs=nothing%></select></td><td width="31">市:</td><td width="55"><select name="Nclassid"></select></td></tr></form>文件conn.asp 代码如下(也可以直接写到select.asp开头):<%set conn=server.createobject("adodb.connection")dbpath=server.mappath("data.mdb")connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &dbpathconn.open connstr%>数据库:表city:表sheng:说明:'一个数据库中有两个表,一个是sheng表,里面保存着省的资料,这个表有两个字段,一个是sheng_id,这个ID是自动生成的,'一个是sheng,是用来保存省份的名称.两个字段都为字符型,另外一个表是city里面保存着城市的资料,这个表有三个字段,'一个是city_id,这个ID也是自动生成的,一个是city_name,是用来保存城市的名称的,一个是city_sheng,是用来这个城市所在的省'这个字段也是让关联菜单能够关联起来的一个字段

一只名叫tom的猫

建一个ASP文件ajax.asp<%Response.CharSet = "gb2312"area=""'--------------得到地区参数objstr=request("objstr")'--------------根据参数读取相应的下级地区set rs=server.createobject("adodb.recordset")rs.open"select * from area where fmc='"&objstr&"' order by id",conn,3,3'--------------循环得到数组并返回客户端for i=1 to rs.recordcountif i=1 thenarea=rs("mc")elsearea=area&"|"&rs("mc")end ifrs.movenextnext'--------------返回数据response.write area%>----------------------------------------------另建一个调用文件INDEX.asp<HTML><HEAD><script language="javascript" defer="defer">/*说明:三级全国地区菜单*///封装一个xmlhttp与服务器端进行交互function ajax(objstr){//接收传递参数string="objstr="+escape(objstr);//建立对象var objXMLHTTP = null;&nbsp;&nbsp;try&nbsp;&nbsp;{&nbsp;&nbsp;objXMLHTTP = new ActiveXObject("MSXML2.XMLHTTP");&nbsp;&nbsp;}&nbsp;&nbsp;catch(e)&nbsp;&nbsp;{&nbsp;&nbsp;try&nbsp;&nbsp;{&nbsp;&nbsp;objXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");&nbsp;&nbsp;}&nbsp;&nbsp;catch(e2){}}&nbsp;//发送数据objXMLHTTP.open("POST", "ajax.asp", false);objXMLHTTP.setrequestheader("content-length",string.length);&nbsp;objXMLHTTP.setrequestheader("content-type","application/x-www-form-urlencoded");&nbsp;objXMLHTTP.send(string);&nbsp;//得到服务器端返加值return objXMLHTTP.responseText;&nbsp;}//封装返回省级数据function city(objstr,objselect){var _Array=ajax(objstr);var objselect=eval("document.all."+objselect);//加入select值前先清空其所有值objselect.length=0;var split_Array=_Array.split("|");for(i=0;i<split_Array.length;i++){objselect.options.add(new Option(split_Array[i],split_Array[i]));}}//封装返回Select选中值function getSelectValue(id){var oSel = document.all(id);return oSel.options[oSel.selectedIndex].value;}//封装改变省级菜单产生事件city1function city1_change(){city(getSelectValue("city1"),"city2");city(getSelectValue("city2"),"city3");}//封装改变县级菜单产生事件city2function city2_change(){city(getSelectValue("city2"),"city3");}//第一次载入页面初始化selectcity("0","city1");city(getSelectValue("city1"),"city2");city(getSelectValue("city2"),"city3");</script><title>全国地区连动</title>&nbsp;</HEAD>&nbsp;<body><table width="200" border="0" cellspacing="0" cellpadding="0"><form id="form"><tr><td><select id="city1" onChange="city1_change();"></select></td><td><select id="city2" onChange="city2_change();"></select></td><td><select id="city3"></select></td></tr></form></table></body></HTML>......................建一个库表为:areaid 自动编号fmc 文本mc 文本px 数字
打开App,查看更多内容
随时随地看视频慕课网APP