最近做项目要用到二级连动,索性写了小例子。大致分为两种情况,一种是select菜单是固定的,如省份与市区的连动。还有一种是select菜单不是固定的,要按数据库生成selec。
先以第一种为例。首先是页面加载前先加载一个数组供select调用。
var selectTool = new Array();
window.onload=function(){//省略简写
selectTool[0] = new Array('1','保定','1');//数组内分别为所属省份的id,市名称,市的id
selectTool[1] = new Array('1','沧州','2');
selectTool[2] = new Array('1','秦皇岛','3');
selectTool[3] = new Array('1','邯郸','4');
selectTool[4] = new Array('2','郑州','5');
selectTool[5] = new Array('2','商丘','6');
selectTool[6] = new Array('2','洛阳','7');
selectTool[7] = new Array('2','开封','8');
}
然后是select框:
<select id="bigSelect" onchange="showNext()">
<option value=''>--请选择--</option>
<option value='1'>河北</option>
<option value='2'>河南</option>
</select>
<select id="sonSelect"></select>
js控制的方法是
function showNext(){
var big = document.getElementById("bigSelect").value;
document.getElementById("sonSelect").length = 0;
document.getElementById("sonSelect").options.add(new Option("--请选择--",""));
for (i=0;i<selectTool.length;i++){
if (selectTool[i][0] == big){
document.getElementById("sonSelect").options.add(new Option(selectTool[i][1],selectTool[i][2]));
}
}
}
如过select菜单非固定的。可用request传递一个后台调取的List到前台。循环输出成数组
针对Java为
<%List<YouObj> sonList = (List<YouObj>)request.getAttribute("soList"); %>
var selectTool = new Array();
window.onload=function(){
<%for(int i=0;i<sonList.size();i++){
YouObj obj = sonList.get(i);%>
selectTool[<%=i%>]=new Array('<%=obj.getSheng_id()%>','<%=obj.getShi_name()%>','<%=obj.getShi_id()%>')
<%}%>}
此方法节省了Ajax不断向后台调取取数据查询,但同样缺点在于不能时刻更新。
Java学习交流群: 2177712
分享到:
相关推荐
PHP与AJAX结合实现二级联动菜单功能...通过对上述知识点的学习和实践,可以掌握使用PHP与AJAX结合来实现二级联动菜单的技能,并能够解决实际开发中遇到的相关问题。同时,这些技能也适用于构建更加复杂的多级联动菜单。
本文将详细讲解如何使用JSP从数据库获取数据来填充下拉框,进而实现二级联动菜单。 首先,我们需要在JSP页面中创建第一个下拉框,用于展示一级菜单。这个下拉框的数据是从数据库中获取的。例如: ```jsp <s:select...
在开发Web应用时,我们经常需要实现一些交互性较强的功能,比如城市选择的二级联动。在本示例中,我们将探讨如何使用C#语言和ASP.NET框架来实现这个功能,并在后台获取HTML元素的值。这是一个常见的需求,尤其是在...
-增加中国的省市县三级联动示例(data/shengshixian.aspx)(feedback:Blues T)。 -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用...
-增加中国的省市县三级联动示例(data/shengshixian.aspx)(feedback:Blues T)。 -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用...