如题,被引入的2个页面 一个是学院的2级联动,一个是省市县3级联动结果引入的页面第二个出不来,比如:<jsp: include page="major.jsp"/> <jsp: include page="city.jsp"/>显示major部分没问题。然后 <jsp: include page="city.jsp"/> <jsp: include page="major.jsp"/>city部分的显示也没问题,单独各自显示也没问题。 WHY? 哥哥姐姐叔叔阿姨的帮帮忙?
function change(v) { var str="0"; for(i=0;i<v;i++) { str+=("_"+(document.getElementById(s[i]).selectedIndex-1)); } var ss=document.getElementById(s[v]);
//机关 major2=new Array(); major2[0]=["异动","异动"]; major2[1]=["非英语专业","非英语专业"]; //关联 var academy = new Array(); academy[1]=["成教","成教",major1]; academy[2]=["机关","机关",major2]; //创建第一个下拉列表 学院 function academyOption(){ for(i=1;i<academy.length;i++){ //document.write("aaaaabbbbbaaaaaaaa"); //通过academy数组循环创建学院 myform1.academy.options[i]= new Option(academy[i][0],academy[i][1]);
为了简单起见,你可以先将city.jsp清空,比如只剩下一行字:
我是city.jspmajor.jsp也是类似处理,相信两个页面肯定都能正常显示。
会不会是变量 方法名说明冲突了? 可是动态引入编译是在各自的JAVA文件里啊,按道理不会冲突啊
有点小不解
city.jsp<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head> <SCRIPT LANGUAGE="JavaScript" charset="UTF-8">
<!--
function Dsy()
{
this.Items = {};
}
Dsy.prototype.add = function(id,iArray)
{
this.Items[id] = iArray;
}
Dsy.prototype.Exists = function(id)
{
if(typeof(this.Items[id]) == "undefined") return false;
return true;
}
function change(v)
{
var str="0";
for(i=0;i<v;i++)
{
str+=("_"+(document.getElementById(s[i]).selectedIndex-1));
}
var ss=document.getElementById(s[v]);
with(ss)
{
length = 0;
options[0]=new Option(opt0[v],opt0[v]);
if(v && document.getElementById(s[v-1]).selectedIndex>0 || !v)
{
if(dsy.Exists(str)){
ar = dsy.Items[str];
for(i=0;i<ar.length;i++)options[length]=new Option(ar[i],ar[i]);
if(v)options[1].selected = true;
}
}
if(++v<s.length){change(v);}
}
}
var dsy = new Dsy();
dsy.add("0",["","北京"]);
dsy.add("0_1",["北京"]);
dsy.add("0_1_0",["北京市","密云县","延庆县"]);
var s=["s1","s2","s3"];
var opt0 = ["省份","地级市","市、县级市、县"];
function setup()
{
for(i=0;i<s.length-1;i++)
document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")");
change(0);
}
-->
</SCRIPT> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head> <body onload="setup()">
<form>
籍 贯:
<select id="s1" name="province"><option>省份</option></select>
<select id="s2"><option>地级市</option></select>
<select id="s3"><option>市、县级市、县</option></select>
</form>
</body>
</html> 这个是我写的 学院的二级联动 major.jsp<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
<script type="text/javascript" charset="UTF-8">
<!--
//以下数组用于显示创建下拉列表的选项
//专业部分
//成教
major1=new Array();
//前者为选项试图,后者为值 .下同
major1[0]=["成教广播电视新闻学","成教广播电视新闻学"];
major1[1]=["成教英语","成教英语"];
major1[2]=["成教机械工程及自动化","成教机械工程及自动化"];
//机关
major2=new Array();
major2[0]=["异动","异动"];
major2[1]=["非英语专业","非英语专业"]; //关联
var academy = new Array();
academy[1]=["成教","成教",major1];
academy[2]=["机关","机关",major2]; //创建第一个下拉列表 学院
function academyOption(){ for(i=1;i<academy.length;i++){ //document.write("aaaaabbbbbaaaaaaaa");
//通过academy数组循环创建学院
myform1.academy.options[i]= new Option(academy[i][0],academy[i][1]);
}
//初始化专业
majorOption(0);
}
//创建专业
function majorOption(index){ //先删除所有专业视图
while(myform1.major.length>0){ myform1.major.remove(0);
} //根据第一个下拉框确定第二个专业
var arr=academy[index][2];
for(i=0;i<arr.length;i++){ //创建专业
myform1.major.options[i]= new Option(arr[i][0],arr[i][1]);
}
}
-->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body onload="academyOption()">
<form name="myform1">
专 业:
<select name="academy" onchange="majorOption(this.selectedIndex)">
<option>请选择专业</option>
</select>
<select name="major">
<option></option>
</select>
</form>
</body>
</html>我方法名与变量没重复呀
高手帮帮忙 小弟谢了