用JSP和JavaScript打造级连菜单
JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。下面小编准备了关于用JSP和JavaScript打造级连菜单的.文章,提供给大家参考!
<%@ page import=",app.*,.*;"
contentType="text/html;charset=GB2312" pageEncoding="GB2312"
%>
<style>
.f9{ font-size:9pt; }
{ background-color:#AECAF9; color: #0033FF }
ons{font-family:Arial; font-size:13px;
font-weight:bold; background-color:#6796E4;
color:white; border-top: solid 2px #AACAFB;
border-bottom: solid 1px #4E7DC1;
border-left: solid 1px #AECAF9;
border-right: solid 1px #5679BD;
padding:1px;
margin:0px;}
</style>
<SCRIPT LANGUAGE="javascript">
<!--
function rv()
{
var val="";
for(i=0;i<combo_th;i++){
val+=","+combo_2[i]e;
}
if(At(0)==","){
val=tr(1,th);
}
e=val;
e();
}
//-->
</SCRIPT>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<jsp:useBean id="user" scope="session" class="Bean" />
<%
CDataSource ds=new CDataSource(); //数据联结Bean实例
ection conn=onnection();
ement stmt=null;
ltSet rs=null;
CDataCheck dc=new CDataCheck();
%>
<%
String sqlu="SELECT , e, e AS fdept
FROM tuser t1 LEFT OUTER JOIN TDept t2
ON t = order by e";
stmt=teStatement();
rs=uteQuery(sqlu);
%>
<script language="Javascript">
arr = new Array();
<% int temp=0;
while(())
{
%>
arr[<%=temp%>]=new Array("<%=tring("fname")%>","<%=tring("fdept")%>");
<%
temp = temp + 1;
}
%>
temp=<%=temp%>;
function ChangeLocation(id){
o_th=0; //初始化第2级菜单的长度,下标从0开始
var i = 0;
o_ons[0]=new Option("-------","");
for(i=0;i<temp;i++){
if(arr[i][1]==id){//如果相等,证明在第2级里面有输入第1级组织的子集,arr[总数目][部门]
o_ons[o_th] = new Option(arr[i][0], arr[i][0]);
}
}
}
</script>
<form name="combo_box">
<table border="0" cellspacing="0" cellpadding="0" height="210" width="59">
<tr height="24">
<td bgcolor="#336699" class="buttons" align=center><font color=#ffffff>部门选择</font></td>
<td bgcolor="#336699" class="buttons" align=center><font color=#ffffff>人名选择</font></td>
<td bgcolor="#336699" class="buttons" align=center nowrap><font color=#ffffff>添加/移除</font></td>
<td bgcolor="#336699" class="buttons" align=center><font color=#ffffff>最终人</font></td>
</tr>
<tr>
<td>
<select multiple id=prov name="prov"
onchange="ChangeLocation(combo_ons[combo_ctedIndex]);"
style="width:150;height:200" class="bgc">
<option value="0">请选择部门 ---></option>
<%
String sqld="SELECT * FROM tdept";
stmt=teStatement();
rs=uteQuery(sqld);
while(())
{
%>
<option name="<%=tring("fno")%>"><%=tring("fname")%></option>
<%
}
%>
</select>
</td>
<td>
<select multiple id=city style="width:150;height:200" class="bgc">
</select>
</td>
<td nowrap align="center" class="bgc">
<input type="button" onClick="move(2,)" value="<<" class="buttons">
<input type="button" onClick="move(,2)" value=">>" class="buttons">
</td>
<td>
<select multiple size="10" name="list2" style="width:150;height:200" class="bgc">
</select>
</td>
</tr>
<tr class="bgc">
<td colspan="4" align="center">
<input type="button" name="button1" class="buttons" value="选好了!" onclick="rv();"></td>
</tr>
</table>
</form>
<script language="JavaScript">
//人名移动
function move(fbox, tbox) {
var arrFbox = new Array();
var arrTbox = new Array();
var arrLookup = new Array();
var i;
for (i = 0; i < th; i++) {
arrLookup[ons[i]] = ons[i]e;
arrTbox[i] = ons[i];
}
var fLength = 0;
var tLength = th;
for(i = 0; i < th; i++) {
arrLookup[ons[i]] = ons[i]e;
if (ons[i]cted && ons[i]e != "") {
arrTbox[tLength] = ons[i];
tLength++;
}
else {
arrFbox[fLength] = ons[i];
fLength++;
}
}
();
();
th = 0;
th = 0;
var c;
for(c = 0; c < th; c++) {
var no = new Option();
e = arrLookup[arrFbox[c]];
= arrFbox[c];
fbox[c] = no;
}
for(c = 0; c < th; c++) {
var no = new Option();
e = arrLookup[arrTbox[c]];
= arrTbox[c];
tbox[c] = no;
}
}
</script>
</body>