select 元素可创建单选或多选菜单。当提交表单时,浏览器会提交选定的项目,或者收集用逗号分隔的多个选项,将其合成一个单独的参数列表,并且在将 <select> 表单数据提交给服务器时包括 name 属性。+ b" S5 x* m) Z/ K$ J
一、基本用法:
" c# x% Z) @ }# w' h6 Q代码如下:# ~% A& w4 n t/ w* U
<select>
! m* Z( K- ?0 r* ?9 |* C<option value =volvo>volvo</option>
+ h( a3 o+ X# F7 I<option value =saab>saab</option>
2 I* A6 N X. b: \" c$ |7 J<option value=opel>opel</option>2 w& u5 n- V' i( y4 v ?
<option value=audi>audi</option>" n4 b- {1 c* @9 o" l
</select>
) I4 ]- h, j& M4 {+ s- t其中,</option>标签可以省掉,在页面中用法7 k3 {9 F1 _* ^4 \- l( W8 W
代码如下:
" Z1 g: E. V" t( u; v4 y* N4 f<select name=studycenter id=studycenter size=1>
; L: A% ?5 q I9 m<option value=0>全部# h: V" F/ r& _* J1 j
<option value=1>湖北电大网络学习中心
& x0 M: r! {$ [2 E% |% k<option value=2>成都师范学院网络学习中心. T8 f* ?* r% b. A2 I9 I6 q
<option value=3>武汉职业技术学院网络学习中心/ n- q4 ?; U: ~( I. z! G1 e; ]& r
</select>2 j& |; \; D W: i/ p- |# O2 s7 \5 @
二、select元素还可以多选,看如下代码:
9 A6 B+ D2 {+ t, L, N代码如下:( ~1 O; Z+ ?! w, F4 h
//有multiple属性,则可以多选, I' |" Z4 n$ z9 Y# X6 P! g
<select name= “education” id=”education” multiple=”multiple”># s3 w" e, X4 f' m/ B' @9 x
<option value=”1”>高中</option>( r; H8 d! P* k
<option value=”2”>大学</option>: S) s1 }7 M- }; Y/ ~9 o/ N7 P
<option value=”3”>博士</option>9 F; B& Q- z4 K: p; G R1 _; ^ Z
</select>" Z7 _# B' q* B
//下面没有multiple属性 , 只显示一条,不能多选
3 P2 V& J$ A4 Y, n$ D% R: w5 F<select name= “education” id=”education” >
c' @: b, I6 A5 w4 e$ \) D<option value=”1”>高中</option>
0 d# Q3 C j0 W+ w V6 `. g4 I( J<option value=”2”>大学</option>+ A$ @5 G& N0 `2 @; l
<option value=”3”>博士</option>- f0 b; C! h, \
</select>" P% C- \/ F) O
//下面是设置了size属性的情况 , 如果size = 3 那么就显示三条数据,注意不能多选的。+ \/ G5 Q; _( W) ]
<select name=education id=education size='3'>) S4 U! G# @0 I, d. [# ?
<option value=0>小学</option>
/ s& `9 a! H/ G6 j* |2 f<option value=1>初中</option>) z4 G& l$ S4 F( w1 ]# s [% q
<option value=2>高中</option>
* }' p6 M: M: g! \<option value=3>中专</option>
7 K1 Q- k( {1 ^, `! h<option value=4>大专</option>
8 O5 I7 P* g+ k1 G* X d! s1 D$ l<option value=5>本科</option># N6 G+ Q* h- P! d; C/ I- _# V+ q
<option value=6>研究生</option>
5 N9 U' c: R0 L+ I<option value=7>博士</option>" S3 f! C3 _; H& W. h
<option value=8>博士后</option>6 q/ t% o5 J4 ]# \6 [
<option selected>请选择</option>
/ @) {+ N. W' m# r</select>
- W+ j+ \3 I* p. e# g三、多选select组件涉及的所有常用操作:
/ H2 n0 L; F, |# a1. 判断select选项中是否存在指定值的item
) H e* @' g$ Z% I C3 |8 ] v. f F代码如下:! V# r3 S7 p1 v: S
@param objselectid 将要验证的目标select组件的id, q7 m, h% m4 U% x% E! f/ }4 ~
@param objitemvalue 将要验证是否存在的值
) m3 L/ s) T4 C1 e. }$ Rfunction isselectitemexit(objselectid,objitemvalue) {
6 E4 A/ P4 ]* r8 p l0 tvar objselect = document.getelementbyid(objselectid);
$ A9 S. ~+ ~1 ], @) b; v; wvar isexit = false;
& w# _0 l& j: s$ j4 D _if (null != objselect && typeof(objselect) != undefined) {
" @+ q. f1 `, {for(var i=0;i<objselect.options.length;i++) {
- a5 {* N+ o3 U; g c1 I: kif(objselect.options.value == objitemvalue) {
2 ?- } |3 t% d4 I5 G% Oisexit = true;' X3 h# w# e: o( e9 v
break;
* l+ u: |8 J" k}; K1 k. P5 h7 H, O! o& d! r
}+ ^! h# Y+ ]4 x
}
4 H7 C0 h; [% N2 Kreturn isexit;: d1 t r2 c% _
}( C; {2 K! X% m+ I$ v+ o Y# m+ z
2.向select选项中加入一个item
' p- p8 C1 }8 t代码如下:% B/ S; r; r) M
@param objselectid 将要加入item的目标select组件的id
) Z1 x. Q3 @- S1 s% Q) I) d@param objitemtext 将要加入的item显示的内容) y7 z; `& \4 A3 i: s4 V. N. \
@param objitemvalue 将要加入的item的值5 k; B- p* |, L2 [5 D
function addoneitemtoselect(objselectid,objitemtext,objitemvalue) {
" w% G* E, C5 `# P ?% d4 Yvar objselect = document.getelementbyid(objselectid);: ~# e. m7 W1 q+ }
if (null != objselect && typeof(objselect) != undefined) {
9 j2 s1 {8 T8 `6 u9 P' F. m//判断是否该值的item已经在select中存在( J" S% z- U% Y- h3 X
if(isselectitemexit(objselectid,objitemvalue)) {8 [& }1 W/ p+ i5 Y, O
$.messager.alert('提示消息','该值的选项已经存在!','info');
- l8 ~% U0 K( h& r* n0 r} else {
& B0 w) P0 L2 A0 v$ l6 H4 B9 |4 Mvar varitem = new option(objitemtext,objitemvalue);0 Q: K# R+ f9 K! u4 H8 Y) D
objselect.options.add(varitem);. l y& E' r" t
}; W: F$ f2 d3 n
}+ U: b+ m0 Z+ g! i2 h1 q
}
- m3 B5 M1 k5 e5 y% ^$ L) v3.从select选项中删除选中的项,支持多选多删+ ?# @3 G8 f3 J+ m
代码如下:
( U. O0 D5 \6 I. }: r( X@param objselectid 将要进行删除的目标select组件id
' \; L. }. d3 q+ Gfunction removeselectitemsfromselect(objselectid) {
/ s4 E& O- m3 D' n5 Y6 Nvar objselect = document.getelementbyid(objselectid);, i' n9 M! x: |' C
var delnum = 0;
, K8 m' h$ j Z: Uif (null != objselect && typeof(objselect) != undefined) {
$ {3 Y$ R4 c$ C9 k) o6 Dfor(var i=0;i<objselect.options.length;i=i+1) {; ~3 I: U- @3 T; \$ @$ ~0 [. z6 M
if(objselect.options.selected) {1 w6 G1 B/ O A% l- w& n
objselect.options.remove(i);5 ]: H; t( b2 P6 h' y# J, ^4 {
delnum = delnum + 1;0 v; V) _, t; H. N2 u, t/ Q, X# T3 W
i = i - 1;
- X8 |% q; j/ K: ^ s& K& l}
0 ?! b+ `, H1 n}4 }5 J9 o* t% \3 ^3 S) o; k+ |
if (delnum <= 0 ) {
/ R1 u3 ~$ e1 T, t: l% l. K$.messager.alert('提示消息','请选择你要删除的选项!','info');
" p. `3 {6 g% Y/ {} else {; w/ e; G6 i/ b
$.messager.alert('提示消息','成功删除了'+delnum+'个选项!','info');6 r5 m V: C# K4 I7 X
}) ?8 L$ [/ V$ F% F7 Z' I; v
}
& b% P9 }. a) o) e5 l+ Z}% E; Z5 n" o. `" b, ^4 V
4.从select选项中按指定的值删除一个item
/ c$ u6 t, K/ Q# r" k# q, N, Z代码如下:
) g+ a6 D4 e+ S+ s* ^# |! m8 y@param objselectid 将要验证的目标select组件的id
5 Y8 ?; g; P! w6 n! l' o4 I@param objitemvalue 将要验证是否存在的值/ j) E- T. [9 O8 m k
function removeitemfromselectbyitemvalue(objselectid,objitemvalue) {# N# g% ]" J X& k; }& |
var objselect = document.getelementbyid(objselectid);
4 H* m. K7 K' I& Bif (null != objselect && typeof(objselect) != undefined) {6 w4 p8 U$ Q3 Q" X8 z) M' E2 D' t
//判断是否存在: i+ G1 t1 r" O* A0 b) w6 g
if(isselectitemexit(objselect,objitemvalue)) {
r# i9 H5 r* }$ w: zfor(var i=0;i<objselect.options.length;i++) {
+ m! D" ~" u* @# h' U8 b' w" kif(objselect.options.value == objitemvalue) {" Y" d; b/ W. B: g! _. H
objselect.options.remove(i);
: {' z. z, r% O; a* J* Lbreak;2 [+ o. X+ y. r
}
$ o6 _/ l! G4 Z. g% j+ D+ `3 {}
- R' L" s" {$ t1 B( t- ]$.messager.alert('提示消息','成功删除!','info');7 W3 |% k4 T7 Q" L
} else {
9 g K# A2 E( A, z1 O$.messager.alert('提示消息','不存在指定值的选项!','info');4 R) T3 F: |3 z5 H
}
3 `# d- G( v+ E" Y8 w; e0 N6 V}
1 w: a0 r2 |) Y& t. h: z R/ s* _}
9 G) e3 {6 ~- N4 ?* z5.清空select中的所有选项- {' ]! @) m5 u: f9 T+ R5 |
代码如下:" _ x. c) t' j; v9 V) b
@param objselectid 将要进行清空的目标select组件id
b4 ^5 Q/ E5 a( @4 Mfunction clearselect(objselectid) {8 a9 Z+ D: s' A& V" \/ h. ~7 P
var objselect = document.getelementbyid(objselectid);
2 p& C& X& i2 s: ~3 T3 Zif (null != objselect && typeof(objselect) != undefined) {
+ z6 a5 i3 T# g0 ~for(var i=0;i<objselect.options.length;) {% Y R+ A4 \$ R' a3 B- E
objselect.options.remove(i);; o) O! i0 Y! M" w: i- E# R
}3 {4 w: t1 f ?% T5 ^$ T# y
}# F- ^' x9 z. Y1 z) K
}
& \% `& `; k, D3 i* R' I* h L6. 获取select中的所有item,并且组装所有的值为一个字符串,值与值之间用逗号隔开" g, {# E6 r+ F0 S3 G
代码如下:
) t3 _1 t; y4 B9 \8 B& G& x@param objselectid 目标select组件id
8 N( }4 m( D9 I/ }@return select中所有item的值,值与值之间用逗号隔开
/ w( C: u" ?. e- O; n$ S) m0 Bfunction getallitemvaluesbystring(objselectid) {
8 e& P5 S; r5 X7 B% i4 Yvar selectitemsvaluesstr = ;( |7 r; v. I; J& N0 o2 A3 b
var objselect = document.getelementbyid(objselectid);* ^ c* m5 P8 W* M
if (null != objselect && typeof(objselect) != undefined) {
$ p7 c# v4 F/ C) O( hvar length = objselect.options.length, e4 z. A- d( D* { K1 X
for(var i = 0; i < length; i = i + 1) {
3 r1 K4 D5 _& h6 }- M8 wif (0 == i) {
7 S! z: z: g l* I7 q% Y* @selectitemsvaluesstr = objselect.options.value;! r7 E5 }6 [: _9 K" t
} else {
2 i; |; L" @( c2 n" ^0 qselectitemsvaluesstr = selectitemsvaluesstr + , + objselect.options.value;
# ]+ \! `8 i! N% v: \, K+ M% M1 J}
8 J" Q5 p# e4 B" d+ f3 q# h8 x, C}' o, h/ G( e- k. j/ q
}
2 \1 k! w& L) s0 w) i& q. Zreturn selectitemsvaluesstr;
3 }/ o5 f5 t& o0 ]' c* Z% n: w}
; p! p! B+ x! z1 o9 L; \7. 将一个select中的所有选中的选项移到另一个select中去2 B0 W6 S; f- Z
代码如下:# D: \" D8 J* O$ ^1 _! i8 Q
@param fromobjselectid 移动item的原select组件id
! X1 }( y6 u+ ~. r5 `@param toobjectselectid 移动item将要进入的目标select组件id. o) f' `' r1 X% x! I* [, ~- F
function moveallselectedtoanotherselectobject(fromobjselectid, toobjectselectid) {
8 L5 G# I" T' a" A6 Xvar objselect = document.getelementbyid(fromobjselectid);; q1 ^. j" H6 u ], {9 X& Z
var delnum = 0;
$ n$ y" X A7 q4 t, Iif (null != objselect && typeof(objselect) != undefined) {5 n7 B- T+ y* B: u9 Y1 \
for(var i=0;i<objselect.options.length;i=i+1) {
, y6 t9 C! v5 C9 Kif(objselect.options.selected) {
. M I8 t% a9 L8 Y2 n Yaddoneitemtoselect(toobjectselectid,objselect.options.text,objselect.options.value)# O, H8 Q0 i: T% h/ @5 x3 F1 e3 C" f
objselect.options.remove(i);
, s& O' J$ P; X4 O ?1 r. H& bi = i - 1;* C. A! _. l7 @- O9 j
}
, N, ?: F4 Z- T8 ^}8 f' a9 P2 N6 |
}
; T, v+ q: P# b}
/ J& u# I7 ]# ]/ N: y8. 将一个select中的所有选项移到另一个select中去, D! Y& j \+ H7 t/ O
代码如下:
T- ~7 B, r0 w! v( ]@param fromobjselectid 移动item的原select组件id* H- k" { y: q
@param toobjectselectid 移动item将要进入的目标select组件id
5 R( Y$ H6 o; Z4 d5 {0 m7 wfunction movealltoanotherselectobject(fromobjselectid, toobjectselectid) {/ R4 `& {) P. O) r9 W% O( u
var objselect = document.getelementbyid(fromobjselectid);' X; \% m' _; n, @
if (null != objselect) {4 v4 D. G, F, K0 m5 x! y; _
for(var i=0;i<objselect.options.length;i=i+1) {! L, \/ j: Z1 G. s- P
addoneitemtoselect(toobjectselectid,objselect.options.text,objselect.options.value)
: H0 V6 h2 G- I5 R% h) [7 l6 @objselect.options.remove(i);' s3 d' j6 P/ I* |% R, h, b
i = i - 1; {% K* z' Z7 I1 }
}
6 d) O5 A2 Z- e L: a! m6 D! C7 E}
0 v8 k1 [' z( ?, A}
1 T, O4 z7 ~( i4 t* U3 l3 }! k9 P9 ?
更多网页制作信息请查看: 网页制作 |
|