我先来说一个比较简单实现方法吧。这是我以前做的,是院系和下属科室的联动,与你的情况基本一致辞。适用于少量数据,你先看懂这个静态页面。
<script language="javascript">
function changeChildItem()
{
document.all.ksh.length=0;
var selectContent = document.createElement("option");
selectContent.text = '请选择';
selectContent.value = '';
document.all.ksh.add(selectContent);
var SelectValue=document.forms[0].yxsh.value;
var sub ='XXXY';
if (sub == SelectValue)
{
var content = document.createElement("option");
content.text = '基础软件教研室';
content.value = '1';
document.all.ksh.add(content);
}
var sub ='JXXY';
if (sub == SelectValue)
{
var content = document.createElement("option");
content.text = '机械学院办公室';
content.value = '2';
document.all.ksh.add(content);
}
}
</script>
<form>
<select name="yxsh" id="yxsh" onchange="changeChildItem();" >
<option value="">请选择</option><option value="XXXY">信息学院</option>
<option value="JXXY">机械学院</option>
</select>
<br>
<select name="ksh" id="ksh">
<option value="">请选择</option>
</select>
</form>
也就是说如果这个静态页面中的JS部分的数据是用数据库里查出来的就可以实现了。
下面来说JSP的实现。以上面的信息为例
用SQL查出如下信息。用科室信息表中查出如下信息
所属院系编号,科室名称,科室编号。放到一个ArrayList里。
然后在页上输出JS的地方写上这样的程序;
<%ArrayList allZyList = (ArrayList) request.getAttribute("ksxx");%>
<script language="javascript">
function changeChildItem()
{
document.all.ksh.length=0;
var selectContent = document.createElement("option");
selectContent.text = '请选择';
selectContent.value = '';
document.all.ksh.add(selectContent);
var SelectValue=document.forms[0].yxsh.value;
<%for(int i=0;i<allZyList.size();i++)
{
String ksToYs[]=(String[])allZyList.get(i);
%>
var sub ='<%=ksToYs[0]%>';
if (sub == SelectValue)
{
var content = document.createElement("option");
content.text = '<%=ksToYs[2]%>';
content.value = '<%=ksToYs[1]%>';
document.all.ksh.add(content);
}
<%}%>
}
</script>
就可以了
<script language="javascript">
function changeChildItem()
{
document.all.ksh.length=0;
var selectContent = document.createElement("option");
selectContent.text = '请选择';
selectContent.value = '';
document.all.ksh.add(selectContent);
var SelectValue=document.forms[0].yxsh.value;
var sub ='XXXY';
if (sub == SelectValue)
{
var content = document.createElement("option");
content.text = '基础软件教研室';
content.value = '1';
document.all.ksh.add(content);
}
var sub ='JXXY';
if (sub == SelectValue)
{
var content = document.createElement("option");
content.text = '机械学院办公室';
content.value = '2';
document.all.ksh.add(content);
}
}
</script>
<form>
<select name="yxsh" id="yxsh" onchange="changeChildItem();" >
<option value="">请选择</option><option value="XXXY">信息学院</option>
<option value="JXXY">机械学院</option>
</select>
<br>
<select name="ksh" id="ksh">
<option value="">请选择</option>
</select>
</form>
也就是说如果这个静态页面中的JS部分的数据是用数据库里查出来的就可以实现了。
下面来说JSP的实现。以上面的信息为例
用SQL查出如下信息。用科室信息表中查出如下信息
所属院系编号,科室名称,科室编号。放到一个ArrayList里。
然后在页上输出JS的地方写上这样的程序;
<%ArrayList allZyList = (ArrayList) request.getAttribute("ksxx");%>
<script language="javascript">
function changeChildItem()
{
document.all.ksh.length=0;
var selectContent = document.createElement("option");
selectContent.text = '请选择';
selectContent.value = '';
document.all.ksh.add(selectContent);
var SelectValue=document.forms[0].yxsh.value;
<%for(int i=0;i<allZyList.size();i++)
{
String ksToYs[]=(String[])allZyList.get(i);
%>
var sub ='<%=ksToYs[0]%>';
if (sub == SelectValue)
{
var content = document.createElement("option");
content.text = '<%=ksToYs[2]%>';
content.value = '<%=ksToYs[1]%>';
document.all.ksh.add(content);
}
<%}%>
}
</script>
就可以了
解决方案 »
- 如何让页面自动轮换显示?
- 同一个js文件中函数不能互相调用?
- 为什么我在用window.open('system_userInfo.jsp','_blank','width=400,height=300');弹出窗口时我的本页面也会涮新的??
- 求救啊...关于cookie读取之后转换的问题.
- select的疑问?
- 关于 combox 联动时改变第二个 combox 内容
- 在JavaScript中,如何判断一个返回值是不是对象?
- 如何让网页面定时自动打开指定网页(在原页面中的iframe中打开)?高手来看看我的代码怎么不行!!
- 自动执行鼠标点机事件(在线等)
- 如何在js脚本中定义对象的事件处理函数?
- 初级问题:请问这两者的区别
- 用JavaScript 编写链接到另外一个站点??
请问一下,那第二段的然后在页上输出JS的地方写上这样的程序;
<%ArrayList allZyList = (ArrayList) request.getAttribute("ksxx");%>
<script language="javascript">
function changeChildItem()
中的 function是不是就是将数据从数据库中加入到第二个select中去啊..
我还是不怎么看得懂,你能不能给我一个实例,让我去试试.