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

jsp+javascript打造级连菜单

<%@ page import="java.util.date,yava.fileapp.*,java.sql.*;"
: R- M( v( Y; ?8 s. ]         c pageencoding="gb2312"
! i$ ?4 t/ m! _6 `7 o0 Z7 j" H%>! j) b" w  X7 d
<style>, I. e" h' q( v& p+ ?
.f9{ font-size:9pt; }+ z7 d2 i: x1 s
.bgc{ background-color:#aecaf9; color: #0033ff }
7 W. j. y  m9 {% f0 E" P.buttons{font-family:arial; font-size:13px; font-weight:bold; background-color:#6796e4; color:white; border-top: solid 2px #aacafb;
3 J5 c$ ]$ {5 q6 E  border-bottom: solid 1px #4e7dc1;
0 J6 p7 g' o8 z  border-left: solid 1px #aecaf9;, J' v) _9 U' C1 B9 L8 u
  border-right: solid 1px #5679bd;3 D$ W0 V, R! h1 z( a- E2 t4 j! z
  padding:1px;8 ^, V4 q8 ~8 H# m5 S0 E. q7 ^
  margin:0px;}
2 v, @8 w$ q/ r" _</style>
8 p! `3 s) N1 j: H! w<script language="javascript">: y& a, \0 X+ s9 {
<!--, o9 X! |. k# L% X" o
function rv()) G7 c, Z% R8 u& o% X; P% N: z2 q
{4 s1 f: {) b! B( R/ E6 l
  var val="";
) |" v! r6 M( Q( Y4 F) M3 Q  for(i=0;i<combo_box.list2.length;i++){
# d/ e4 C$ H6 e- {- Y' w   val+=","+combo_box.list2.value;
# u5 a0 t( s5 l+ D6 T  k  }) f' A/ C3 \2 r* p$ X& f
  if(val.charat(0)==","){* {4 y- ^( _3 W: P* Q+ \
   val=val.substr(1,val.length);% N3 c. z7 `4 i7 v
  }) K0 V, J8 u& ?: ?0 e! s
  opener.form1.frecname.value=val;
# L2 |  o& b" n: H# G  self.close();  o, d: w! ~  P; a1 {9 t8 f  ?
}) Z0 Y. i+ a# q: B* S. g# B
//-->
, ?4 E. v; X. d  Q" I' y# B</script>
& h6 F' R9 [1 Q) U: \7 l6 ?& _<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">1 u  f9 v6 h0 U2 l
<jsp:usebean id="user" scope="session" class="yava.fileapp.userbean" />
' `+ y( N9 [2 l<%
# f$ X( E) l" [- X8 D9 k7 `' v5 R  cdatasource ds=new cdatasource();  //数据联结bean实例
& }, J: z  b: O7 K( e: p8 v  java.sql.connection conn=ds.getconnection();
+ r( A& t/ T' ~1 b7 Q' Z  java.sql.statement stmt=null;7 H+ `. L( r7 `( y$ [4 v
  java.sql.resultset rs=null;& t% ?  @0 F% F  |& a$ X( u* r+ [
  cdatacheck dc=new cdatacheck();
& C  I1 |8 ^+ u6 D, [  l, f/ U! S; C%>
+ m9 L0 m& V: E  w2 Y+ X5 M<%
! o) D; e! }8 }( b/ [" z( \0 q$ x9 Astring 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";. f/ t; m7 P4 t8 H( p0 Y' ^5 w. q
stmt=conn.createstatement();8 S. {* G3 T; l. T" y
rs=stmt.executequery(sqlu);
5 p2 T9 ?9 u/ U- y6 N* `& f%>
$ R' C  r5 N9 n# u<script language='javascript'>' w9 N$ {' i4 B: a) H# E' F9 c
arr = new array();
9 C* q6 G- Q& M7 \<%  int temp=0;
( A1 A/ `, B# u( Pwhile(rs.next())5 w# N3 q3 r+ x! T2 F0 |0 V. {
{- c- T# j1 b4 R: A& ^% o- k
%>& s2 ~# m2 L! n, P- i% G
arr[<%=temp%>]=new array("<%=rs.getstring("fname")%>","<%=rs.getstring("fdept")%>");
3 H* `' M2 s0 r<%
4 @/ \3 ^+ W4 _" S$ J) A$ @# F( Gtemp = temp + 1;
$ b" D) B$ m# N& Q}2 Y7 o2 d, n. m5 U8 ~* q$ k% M
%>0 ~# n, Z3 d  g
temp=<%=temp%>;
. y* K4 p) B, p7 S2 efunction changelocation(id){
. @% h* l; R4 \, B, i* Zdocument.combo_box.city.length=0; //初始化第2级菜单的长度,下标从0开始 5 `* O/ u& J. Q8 _3 Z% _
var i = 0;
! u! a1 E9 \7 R2 R5 L. ldocument.combo_box.city.options[0]=new option('-------','');
& p% E6 r# x4 F4 {2 Y5 bfor(i=0;i<temp;i++){
! v2 ?6 q$ H( S+ z3 S+ Kif(arr[1]==id){//如果相等,证明在第2级里面有输入第1级组织的子集,arr[总数目][部门]
* h# Y9 X% a4 r3 N! gdocument.combo_box.city.options[document.combo_box.city.length] = new option(arr[0], arr[0]); - A1 L2 f, `3 u4 u1 @
}
5 G4 i# W4 m) m/ U0 R* N2 H) Z3 V* `} / I/ L- E0 x$ h1 \
}   b2 |6 D) X8 a( @% x
</script>3 C: I& v4 [( t
: M$ O# y9 Q% s2 a* {5 _3 Y
<form name="combo_box">
! j7 z6 H* {  J* X$ E0 |<table border="0" cellspacing="0" cellpadding="0" height="210" width="59">
8 ]4 n& q. I. b3 W8 X$ ~  <tr height="24">' @9 O) H4 S: |# n; d3 W
    <td bgcolor="#336699" class="buttons" align=center><font color=#ffffff>部门选择</font></td>
3 S- V4 D1 u* ?5 k    <td bgcolor="#336699" class="buttons" align=center><font color=#ffffff>人名选择</font></td>
7 `7 B) e2 D: B/ A8 C) ^    <td bgcolor="#336699" class="buttons" align=center nowrap><font color=#ffffff>添加/移除</font></td>0 u: ]+ m$ J1 }9 ?
    <td bgcolor="#336699" class="buttons" align=center><font color=#ffffff>最终人</font></td>
$ `  e" n1 ^; e1 r' d+ g  </tr>0 d$ e& A! Z: X& D( |6 M; g1 K( j4 Z  F
  <tr>
& I0 v) a3 b0 s; l3 b. V$ Q    <td>
# Q2 l8 N* y, w  <select multiple id=prov name="prov"    style="width:150;height:200" class="bgc">
* `/ @+ U! u9 c8 U8 k4 q0 U# f3 ?  <option value="0">请选择部门 ---></option>+ @- g3 P' v( [) _8 N
<%* V9 ]8 v( k' O; r9 e, ^
    string sqld="select * from tdept";
$ i7 d( Q& r  n; Sstmt=conn.createstatement();1 D- B) o( n! d7 O7 Q+ i
rs=stmt.executequery(sqld);
$ x# \$ F/ x% C& P- X! e8 pwhile(rs.next())5 L, ?5 f8 ?  Y) L
{0 _' `+ Q" U. w* l) L) L$ {! P3 n
%>) l0 m0 L) v+ A6 ?* O0 W+ G. k
  <option name="<%=rs.getstring("fno")%>"><%=rs.getstring("fname")%></option>
5 ^  P: u3 O, x$ A  n7 o9 P<%' g2 }$ d1 i, \
}# w" {& E, d9 m2 Y5 V( D6 B: K9 G
%> / y7 p2 }2 q! V# P& g4 [, c
  </select>" ?8 T, S; v2 Q
</td>, a! L: t3 f' @, K. r
    <td>0 `$ M2 m2 G$ h# V$ J: J  K
  <select multiple id=city style="width:150;height:200" class="bgc">
% i! Y& p! I- k& e* t  </select>
8 k. D* R, S. {& S, X# u</td>3 O1 j1 q/ d* K- s) b% L& x
    <td nowrap align="center" class="bgc">9 I0 w: J8 W. N1 |
  <input type="button"  value="<<" class="buttons">
" ~; i' B% O, d- K/ D7 C) u. a% z  <input type="button"  value=">>" class="buttons">8 u  V  b3 l  R; l
</td>  z- Q$ Y# N: v  Z& t7 e( J
    <td>
% `1 d7 ~8 H) M  <select multiple size="10" name="list2" style="width:150;height:200" class="bgc">
- g- i& K: M3 k, P; G  n  ?; W  </select>8 I' z% j# u; q" z6 s
</td>
7 ?$ }) \) g9 ?- G  </tr>0 t) x7 l( w9 Y  L  V
    <tr class="bgc"> * l: B0 e* N5 Q% ~  v- V
    <td colspan="4" align="center"><input type="button" name="button1" class="buttons" value="选好了!" ></td>
% P( B) l9 Q0 c" p! v) f  </tr>0 z0 v  s" B/ F; O8 }; q, \* R
</table>
' X9 F+ x+ k- G9 i2 @</form>
- x0 N: |4 s4 k  [& }<script language="javascript">
! \, v& D3 S( h, h3 X; W//人名移动
; }3 y8 ^" h& T2 bfunction move(fbox, tbox) {
+ a8 v/ E: T. G! ~5 T; ovar arrfbox = new array();
# g/ i& T2 t& L1 m% Z4 `0 O& uvar arrtbox = new array();
: x6 ]% @0 s1 q, U  ]: Q' ovar arrlookup = new array();
9 \+ x$ V, r- l# g& Jvar i;
( p% L0 P& {& L6 U0 H8 M5 I" I! \for (i = 0; i < tbox.options.length; i++) {
& b3 X8 z5 X3 ?! Uarrlookup[tbox.options.text] = tbox.options.value;
- q) ^& n$ _+ ?$ k2 rarrtbox = tbox.options.text;
! c9 G/ L) z& m, j6 H1 e, ?4 w}6 }. _1 e& z3 D* c) }
var flength = 0;+ U) u2 X+ Z! i) V  E
var tlength = arrtbox.length;
* F: ~! Z/ S6 h/ z$ ?6 N6 t2 Bfor(i = 0; i < fbox.options.length; i++) {5 B! E$ y/ a  |1 H
arrlookup[fbox.options.text] = fbox.options.value;
2 _2 B8 O# p2 C& n- L' hif (fbox.options.selected && fbox.options.value != "") {- n$ n2 I  I: P. g8 B% f6 o
arrtbox[tlength] = fbox.options.text;
! Q( Y4 t0 S/ d8 Q* _; ttlength++;- b" Q; U0 s" }2 i
}
6 M: o3 x# @" I" H6 v' z9 Y/ Ielse {
: v0 @# E/ a7 \; U3 z$ Jarrfbox[flength] = fbox.options.text;
. B- {/ o0 P5 e& M% Y( B; u3 I0 Dflength++;
5 O1 b. i7 e, ?   }
& `$ a3 k: [' S$ ]8 M}
9 f. }( _; Z* uarrfbox.sort();
0 ?- @! u- A& M" N" d6 M+ v. Zarrtbox.sort();8 y# F4 c3 o9 b1 p
! r& O/ V( \; Z" V" A$ }
fbox.length = 0;, B+ R2 Y/ ?1 l
tbox.length = 0;+ B% b$ s9 L% `# |2 }3 P, `; N
var c;0 ]- e  p! b: H, `! q2 M
for(c = 0; c < arrfbox.length; c++) {$ a9 `2 ^$ b4 e9 x; B3 x( s
var no = new option();& M; w% I& b  H3 I* n
no.value = arrlookup[arrfbox[c]];) c; `. x, [* H
no.text = arrfbox[c];( j1 }' O% h" H1 K- a# A
fbox[c] = no;
2 M5 [+ l% f) Q1 L}
$ T0 U& `, R# S- j3 ofor(c = 0; c < arrtbox.length; c++) {! U; U' ?* \$ W  U( E' y
var no = new option();# O0 {: S2 Y! `$ n, w
no.value = arrlookup[arrtbox[c]];6 ]4 L  v4 f* R3 R: F
no.text = arrtbox[c];
& s/ `/ s! w4 n7 v& ttbox[c] = no;; f4 N7 c8 a5 o9 f8 m
   }
7 Q3 `# F2 D+ C4 y! X7 h}
3 R- L3 \. r& F( l- s6 o2 X- m, I</script>
: l) y! Z. i: [+ S. c: }0 d0 D& b$ [</body>
* x! H4 y' t6 H; S

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