获得本站免费赞助空间请点这里
返回列表 发帖

jsp+javascript打造级连菜单

<%@ page import="java.util.date,yava.fileapp.*,java.sql.*;"
2 X6 ^6 {4 g( b  ?& t4 F+ \+ R4 r         c pageencoding="gb2312"
3 n# M2 S  z: {5 T. D%>
% ^& P  U- q) h2 O* r<style>
! v2 D2 W* F3 q# J9 x% V.f9{ font-size:9pt; }3 V2 I2 Q! ]* e- q  z" H
.bgc{ background-color:#aecaf9; color: #0033ff }9 ?, m) {% \- \4 h
.buttons{font-family:arial; font-size:13px; font-weight:bold; background-color:#6796e4; color:white; border-top: solid 2px #aacafb;4 H# s, i# e% J' }
  border-bottom: solid 1px #4e7dc1;
* T9 |  Q# p$ i" E; `9 @2 t  border-left: solid 1px #aecaf9;
+ T6 {4 T$ f2 Q  border-right: solid 1px #5679bd;
% s1 p8 N+ p: U8 \, ?+ q: N  padding:1px;! y! y6 q% g  e' ~
  margin:0px;}/ Y0 ?! r! h  b! a( A
</style>8 t: x2 M$ ^+ g; _* K. O( W5 e9 f
<script language="javascript">+ c9 B) s8 j6 A4 j
<!--
/ |- B6 B. m  ]5 p  Yfunction rv()
7 ]/ |3 L0 l. o! z{
! V% ^) A& K: {/ K  var val="";
  W9 {/ n0 X( R" Z! G% J. b6 e  for(i=0;i<combo_box.list2.length;i++){
' i9 X  _4 I. @- }" D0 v6 x9 _   val+=","+combo_box.list2.value;  |2 e- v+ P* Z' E2 o  X2 v
  }& C$ @' h: X9 E1 V
  if(val.charat(0)==","){, s- J( w- s$ e7 N0 W4 b
   val=val.substr(1,val.length);
+ Y0 @: o+ a- G: b  }
* U) f# W7 r; `2 h  z  opener.form1.frecname.value=val;
8 h$ `( F) J' Z! K/ {* x  self.close();
6 `1 T- J: K& I. h$ y  u! r}' b1 G/ ?& ^) n/ {1 D4 r
//-->
: t* Z$ n+ f7 `( ]: p% h</script>4 ^( [0 S" [8 Y
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
# s* K' v: D+ z& b' v; ^<jsp:usebean id="user" scope="session" class="yava.fileapp.userbean" />8 {* {$ n, ]' r9 m4 P
<%
( J  m9 ]7 j7 U( e. t  cdatasource ds=new cdatasource();  //数据联结bean实例  Q$ p/ i0 x8 o& H7 R( V- M9 x
  java.sql.connection conn=ds.getconnection();. D4 C3 h) M5 i2 G% h6 g0 @; t$ e3 {8 h
  java.sql.statement stmt=null;
4 \! W$ o3 E% f: }5 G; O% I% Q  java.sql.resultset rs=null;
/ A& c. Q3 `' K  q# P% D0 X3 ~  cdatacheck dc=new cdatacheck();- e5 ?$ O$ F1 b
%>
. K0 \# `8 ~# D5 T2 c$ R<%
: h" I6 d. a2 [string sqlu="select t1.fno, t1.fname, t2.fname as fdept from tuser t1 left outer join tdept t2 on t1.fdept = t2.fno order by t2.fname";
, a# _0 }; i& o( @stmt=conn.createstatement();6 m% w0 s) [9 @6 m
rs=stmt.executequery(sqlu);
# Z5 P; f1 M! T* s# f& ~% p%>
2 p  o- O$ y/ m1 W2 D, Z* _) D<script language='javascript'>. o/ @6 B: k- e" ^8 ]
arr = new array();
& a7 O8 o! c) ]* K: r5 @7 n<%  int temp=0;) \4 l# B' |- N
while(rs.next())8 J  t  A" V+ H: }1 T9 f. `
{
. Y$ |& ], i  M% Z%>+ o1 P0 _$ |' {& t/ B/ {2 P: o2 t
arr[<%=temp%>]=new array("<%=rs.getstring("fname")%>","<%=rs.getstring("fdept")%>");
5 X) d4 O) L# C0 l<%
0 C) ]" H) C- m0 J+ Otemp = temp + 1;
2 |. s1 d0 U3 e& O}
& N# C! q8 [) p%>- o6 |9 Q3 T; b0 ~2 |
temp=<%=temp%>;
$ r: T( Y* E4 |function changelocation(id){
% C4 A) x5 O  K+ N- f$ k/ Mdocument.combo_box.city.length=0; //初始化第2级菜单的长度,下标从0开始
' `, f1 z/ V0 M  @; J# o2 f9 Vvar i = 0;
5 M3 q2 i" C1 b6 ddocument.combo_box.city.options[0]=new option('-------','');
1 Y1 D- I; |+ F* r" {0 Hfor(i=0;i<temp;i++){ 7 ~, a& N/ x3 U; K$ E
if(arr[1]==id){//如果相等,证明在第2级里面有输入第1级组织的子集,arr[总数目][部门] ) s6 M* ^/ u; Z
document.combo_box.city.options[document.combo_box.city.length] = new option(arr[0], arr[0]);
" K0 a) u% }  P% @& ?} ' l+ ?4 h/ D( T# T- F
} 8 h4 X) s8 Y% w
} ( e1 _; X0 s( m) h' R
</script>
' l, X$ T" f) S' r/ c) i# L
0 X; i% T0 o' c) @+ k<form name="combo_box">
$ q$ [0 r  s0 c* h: ?<table border="0" cellspacing="0" cellpadding="0" height="210" width="59">& C8 [3 x$ s" t" _0 j
  <tr height="24">: h1 e2 I: t. @+ l
    <td bgcolor="#336699" class="buttons" align=center><font color=#ffffff>部门选择</font></td>, z- J" k' F& w6 G* `
    <td bgcolor="#336699" class="buttons" align=center><font color=#ffffff>人名选择</font></td>
; }3 j& W9 i3 f8 L% ]" ]" Y    <td bgcolor="#336699" class="buttons" align=center nowrap><font color=#ffffff>添加/移除</font></td>& [- P9 Q6 N5 e& ], U6 Y
    <td bgcolor="#336699" class="buttons" align=center><font color=#ffffff>最终人</font></td>
* n' q7 ]# M# h" l/ d, o6 b  </tr>
8 a7 j0 a2 m, s  l2 E  <tr> # V2 G. l9 u! M- Y8 Y
    <td>$ M* a9 p6 z( P. F
  <select multiple id=prov name="prov"    style="width:150;height:200" class="bgc">+ q4 c6 ^* }! K6 H# q
  <option value="0">请选择部门 ---></option>
# _: k2 _$ t, _: p4 c/ q<%
/ d3 P7 J# s- [    string sqld="select * from tdept";3 y5 L: l5 x  l* R
stmt=conn.createstatement();: m* w+ a0 E4 ?
rs=stmt.executequery(sqld);
% h7 }" }2 {/ V0 t, }while(rs.next())4 e+ z6 y* i8 O- j6 x( f+ o0 \/ m
{/ F8 I8 S1 [8 r0 n9 @; u5 e) x
%>
: ?3 a) A; j2 P  <option name="<%=rs.getstring("fno")%>"><%=rs.getstring("fname")%></option>. J; [4 ~$ s* D( j( ], `  b
<%
- p8 ~+ s1 R0 }3 N5 R$ N* L7 O4 o}# o' b' Y, Q2 l5 G
%> 8 D3 c% `5 E5 m8 M! L6 v/ H/ ^
  </select>$ a* p' j7 d  g* `1 T
</td>* W( a2 I* z& Y
    <td>. J& M& ?5 A. |5 W1 h
  <select multiple id=city style="width:150;height:200" class="bgc">+ o  r" b  A2 _/ ?
  </select>: V, E/ B9 f5 w7 M( ^" V6 ], O; z2 y
</td>
; \0 @8 b( r7 l4 |) ?7 B    <td nowrap align="center" class="bgc">$ c1 k2 J7 O* t
  <input type="button"  value="<<" class="buttons">
3 S- Z  ]! s6 Q: V* ~2 e" ?1 d  <input type="button"  value=">>" class="buttons">
. h0 v% H" ~6 p! h</td>/ }) `! I$ L1 M( J$ f
    <td>
% l" f3 Q6 d5 z  E; A) S# g! @  <select multiple size="10" name="list2" style="width:150;height:200" class="bgc"># Z6 o4 ^; x7 H5 F% q2 V1 D5 t
  </select>
' ?, C) b" D" \7 k' L9 B</td>
% A9 x- G' K6 \! g0 _9 P  </tr>
; {2 D9 x# F- i0 {: ~* X- y3 c    <tr class="bgc">
! q; z0 D/ J7 G" R: L    <td colspan="4" align="center"><input type="button" name="button1" class="buttons" value="选好了!" ></td>
1 |0 K: ~6 m# |" r4 G2 l, m  </tr>5 J  F1 D, Z# g2 W: [, [2 w5 {
</table>6 p* ^) L. G/ C& }9 q! }7 Z
</form>8 \6 x0 h4 r0 ~8 a" H
<script language="javascript">/ k$ b$ W5 A+ R2 @
//人名移动
0 N5 n" o9 C$ W7 ]4 X" |7 [9 Q/ Rfunction move(fbox, tbox) {4 H  P( R  [, e6 l
var arrfbox = new array();
) T9 x+ x1 b2 J. rvar arrtbox = new array();/ b) P- F. \: U
var arrlookup = new array();
- S* c  _" G( r: q& Mvar i;4 t4 [  R/ m3 G  s' `, P
for (i = 0; i < tbox.options.length; i++) {% H" b, H0 D6 \" d, u% `. ?! d
arrlookup[tbox.options.text] = tbox.options.value;2 U, `* Q5 l  K) c" ?7 |7 t
arrtbox = tbox.options.text;/ }% l. r0 R4 h& i! T4 @$ j6 {
}( i7 E) n: b# c  V% N. n
var flength = 0;: z* m% \" o, r4 s
var tlength = arrtbox.length;" G- y( J3 ]+ B$ J5 k& ?; }! n
for(i = 0; i < fbox.options.length; i++) {! g4 m- r" Y! }4 D0 {. M
arrlookup[fbox.options.text] = fbox.options.value;
* O& A3 k6 d7 L* Pif (fbox.options.selected && fbox.options.value != "") {
1 {1 p- j$ c% Y; \arrtbox[tlength] = fbox.options.text;
2 C3 G* b) N* b* Q/ xtlength++;
, E% |- N) ~) R+ Z* r}1 v( Y4 o$ W6 y2 C
else {
6 ^8 F* w0 R: S, U' Rarrfbox[flength] = fbox.options.text;3 a2 b3 j, I6 v3 y2 r
flength++;& d* e! f4 {7 T  P7 p
   }) F  v) _& L0 d2 C! _2 u7 C& f
}' m! P& T5 }3 `# r& Q
arrfbox.sort();$ W! M& q  ~/ o9 i
arrtbox.sort();
1 p5 I4 D! U/ s5 K* g7 [
3 L- w$ W+ k0 Y& V. G- |fbox.length = 0;
4 V( g- i8 L# Q: N9 qtbox.length = 0;) u* I; W. i0 W3 g
var c;
2 l* z3 w- Y! f8 Q. {/ Lfor(c = 0; c < arrfbox.length; c++) {
2 |/ J3 n2 ]+ v) u6 J& G3 V  ]& g! o. pvar no = new option();
! W, X$ ^. B2 K0 k# _7 A* @no.value = arrlookup[arrfbox[c]];
2 f* f, Z0 E$ f' mno.text = arrfbox[c];
" F  ^# t4 Z1 p+ }fbox[c] = no;0 A+ S! k- f( F1 p3 C
}
) E% V1 I/ e- m* d. M' qfor(c = 0; c < arrtbox.length; c++) {6 l8 d, H# s3 _2 f' X7 ]; G+ [; V
var no = new option();
/ j' F) u$ _# b, H: dno.value = arrlookup[arrtbox[c]];
0 o5 W, g& Q# K* r, Mno.text = arrtbox[c];
1 h$ p" B% w  e$ z( J3 ^tbox[c] = no;% v' m! o) b2 j" O- v; n1 K
   }
* n7 l3 N& @% Y. l}
( s% v: f- N# b</script>
' T9 {4 x0 F% K) `. C% w1 a* {; X</body>2 A, E' r7 N) l- V) o3 R( ?6 W

返回列表
【捌玖网络】已经运行: