怎样能实现网页上的联动查询--急急急急急急急急急急急急急急急急急急急急急急急急急急!!!!!!!!!!!! 代码不能直接给你了,可以直接baidu一下就清楚了.利用的是JS脚本,onChange()new Option(..)如果数据是从数据库中查出来的,需要先装载几 级联动一般就需要几个数组来实现.. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下拉列表联动问题,很早以前就有人问过,给你一个思路: lip009(深蓝忧郁) ( ) 信誉:100 2005-11-8 21:16:49 得分: 50 以前用asp做过,不过我想差不多,思路都一样.在第一个下拉框的onchange事件里提交表单给自己,然后在页面刚开始接收提交到的第一个下拉框信息,根据这个提交信息去数据库里读出相应数据,再把这些数据用循环动态的添加到第二个下拉框中.思路就是这样,楼主可以自己根据思路想想代码怎么写 到www.35cn.com上下个开源的新闻系统了,里面有代码 如下:页面上有两个选择框,第一个触发查询并将数据放入第二个选择框1、首先页面上第一个选择框调用onchange事件: <div style="margin-bottom:6px;"><span style="width:84px;">所在地区:</span> <span style="width:100px;"><select name="XXX" class="select" title='XXX' minlength="1" maxlength=99 onChange="itemChange()"> <option value="" selected>****请选择**** </option> <option value="ccc" >ddd</option> </select></span> <div style="margin-bottom:6px;"><span style="width:84px;">项目类别:</span> <span style="width:100px;"><select name="BIGCLASS" class="select" title='ZZZ' minlength="1" maxlength=99 > 2、js中,ONCHange()函数调用新的交易进行查询: function itemChange(){ Name =document.forms[0]['XXX'].value; result.navigate(getURL+"&Name ="+abc); //HTTP调用新的交易 //result_first.document.body.innerHTML='<font style="font-size:12px">正在获取信息,请稍候...</font>';}3、新的交易数据将返回写到需要机联的选项框:BIGCLASS就是需要机联的选项<html><head></head> <body><select name="BIGCLASS" class="select" style="display:none" autocheck=false> <option value="你的值" >你的表述</option></select><script type='text/javascript'> for(var i=0;i<BIGCLASS.options.length;i++) { var obj = parent.document.createElement(BIGCLASS.options[i].cloneNode(true).outerHTML); obj.innerText=BIGCLASS.options[i].innerText; parent.form1.BIGCLASS.appendChild(obj); }</body></html> 若是一次交易后,可以将值用数组存储,二维数组以下为实现的页面js其中<$C103$>*****<$/C103$><$C303$>>*****<$/C303$>表示循环,103表示一级循环 303表示二级循环值(例如103表示省 303表示市)你可以用自己的for循环实现Menu_Change中的'ITEM1','ITEM2'表示页面中的两个选择项var er_show = new Array();var er_value = new Array()<$C103$>er_show[i] =new Array();er_value[i]=new Array();<$/C103$><$C303$>er_show[i][j]='值1';er_value[i][j]='值2';<$/C303$>}Menu_Change('ITEM1','ITEM2',er_value,er_show);function Menu_Change(name1,name2,code,name){ var num,n, i, m ,k; sName1=document.forms[0][name1] sName2=document.forms[0][name2] m = sName1.selectedIndex-1; n = sName2.length for(i = n - 1; i >= 0; i--) sName2.options[i] = null; if (m>=0) { for(i = 0; i < code[m].length; i++){ NewOptionName = new Option(name[m][i], code[m][i]); sName2.options[i] = NewOptionName; } sName2.options[0].selected = true; }} 选择时候触发下级列表重新填充数值数据来源通过Ajax.Request从服务器获取一个XML 有没有具体点的冬冬?学习ing 呵 ,碰到一个说ajax的啦。哈哈。 ajax,可以不刷新网页提取数据 页面多个时间验证 iReport 分组报表 文字向球型那样的滚动代码 求解一个struts2自定义标签问题,急啊! WebSphere集群 应用端口冲突 两个问题 JSF中如何在受管Bean中将对象存放到HttpServletRequest对象中? 关于学习EJB 大家进来帮帮我谢谢 如何制作定时执行的程序? RMI的问题请大家帮忙呀! 紧急!!!问一个struts+hibernate很弱的问题(在线给分1000!!!) 一个dom4j的奇怪问题----急
以前用asp做过,不过我想差不多,思路都一样.
在第一个下拉框的onchange事件里提交表单给自己,然后在页面刚开始接收提交到的第一个下拉框信息,根据这个提交信息去数据库里读出相应数据,再把这些数据用循环动态的添加到第二个下拉框中.思路就是这样,楼主可以自己根据思路想想代码怎么写
1、首先页面上第一个选择框调用onchange事件:
<div style="margin-bottom:6px;"><span style="width:84px;">所在地区:</span>
<span style="width:100px;"><select name="XXX" class="select" title='XXX' minlength="1" maxlength=99 onChange="itemChange()">
<option value="" selected>****请选择**** </option>
<option value="ccc" >ddd</option>
</select></span>
<div style="margin-bottom:6px;"><span style="width:84px;">项目类别:</span>
<span style="width:100px;"><select name="BIGCLASS" class="select" title='ZZZ' minlength="1" maxlength=99 >
2、js中,ONCHange()函数调用新的交易进行查询:
function itemChange()
{
Name =document.forms[0]['XXX'].value;
result.navigate(getURL+"&Name ="+abc); //HTTP调用新的交易
//result_first.document.body.innerHTML='<font style="font-size:12px">正在获取信息,请稍候...</font>';
}
3、新的交易数据将返回写到需要机联的选项框:BIGCLASS就是需要机联的选项
<html>
<head>
</head>
<body>
<select name="BIGCLASS" class="select" style="display:none" autocheck=false>
<option value="你的值" >你的表述</option>
</select>
<script type='text/javascript'>
for(var i=0;i<BIGCLASS.options.length;i++)
{
var obj = parent.document.createElement(BIGCLASS.options[i].cloneNode(true).outerHTML);
obj.innerText=BIGCLASS.options[i].innerText;
parent.form1.BIGCLASS.appendChild(obj);
}
</body>
</html>
<$C103$>*****<$/C103$>
<$C303$>>*****<$/C303$>
表示循环,103表示一级循环 303表示二级循环值(例如103表示省 303表示市)
你可以用自己的for循环实现
Menu_Change中的'ITEM1','ITEM2'表示页面中的两个选择项var er_show = new Array();
var er_value = new Array()
<$C103$>
er_show[i] =new Array();
er_value[i]=new Array();
<$/C103$>
<$C303$>
er_show[i][j]='值1';
er_value[i][j]='值2';
<$/C303$>}Menu_Change('ITEM1','ITEM2',er_value,er_show);function Menu_Change(name1,name2,code,name){ var num,n, i, m ,k; sName1=document.forms[0][name1] sName2=document.forms[0][name2] m = sName1.selectedIndex-1; n = sName2.length for(i = n - 1; i >= 0; i--) sName2.options[i] = null; if (m>=0) { for(i = 0; i < code[m].length; i++){ NewOptionName = new Option(name[m][i], code[m][i]); sName2.options[i] = NewOptionName; } sName2.options[0].selected = true; }}
数据来源通过Ajax.Request从服务器获取一个XML
学习ing