select 元素可创建单选或多选菜单。当提交表单时,浏览器会提交选定的项目,或者收集用逗号分隔的多个选项,将其合成一个单独的参数列表,并且在将 <select> 表单数据提交给服务器时包括 name 属性。$ e1 O! `* }) L
一、基本用法:
, a& i- g$ ?5 q4 v# [; T! J代码如下:
! H) c7 i" ]2 s7 f: v8 c<select>) k5 ~0 p. o; m* ^. _/ S
<option value =volvo>volvo</option>4 K& y/ h) R" Y f' I3 R! }
<option value =saab>saab</option>
1 H3 |" J O) C. u3 p% v' _) f<option value=opel>opel</option>
& B, t" e4 h1 U& n5 n$ p<option value=audi>audi</option>/ @; V. L4 C/ B' q) p
</select>
8 ? z5 H/ W8 V. u; c3 D其中,</option>标签可以省掉,在页面中用法
9 |# Z7 R* L" S; @; D Y代码如下:
, X) B" O2 F5 a$ n: o% t) @<select name=studycenter id=studycenter size=1>* `2 j5 Q/ r2 N' ^
<option value=0>全部
. V S/ R! H5 `( \1 A<option value=1>湖北电大网络学习中心8 H% L0 P: t/ \0 f9 J
<option value=2>成都师范学院网络学习中心
8 Y2 R, G7 z, U+ M<option value=3>武汉职业技术学院网络学习中心
* `; {" z/ m! p% K</select>( c+ {+ i+ ^4 Z( o- @0 q
二、select元素还可以多选,看如下代码:
7 L% G) O$ {1 B7 E代码如下:
3 c9 n; s" a# R& u" o# o//有multiple属性,则可以多选3 r) }6 K0 z' E* Z& R3 a
<select name= “education” id=”education” multiple=”multiple”>
5 ]) h; b& x- K: b) S. T<option value=”1”>高中</option>
/ n! D5 J4 I& v* i<option value=”2”>大学</option>- t; t9 V0 i5 H/ j1 X7 R
<option value=”3”>博士</option>. P# ]3 v2 b$ k5 @+ ^3 M
</select># B; o0 x) F: e) @. C
//下面没有multiple属性 , 只显示一条,不能多选" F' S$ C/ c' S6 F- u* o* d
<select name= “education” id=”education” > X# M+ b$ [/ }+ b4 G
<option value=”1”>高中</option>
. @- m$ p; C" i<option value=”2”>大学</option>8 a& j4 J, k# B: G& l
<option value=”3”>博士</option>
+ B+ x3 ^4 R" m, `& v. i$ z' q</select>7 _/ N' g% }/ V8 n& ]) G i
//下面是设置了size属性的情况 , 如果size = 3 那么就显示三条数据,注意不能多选的。
l, p3 t5 }8 R$ A<select name=education id=education size='3'>
' H* n+ J" h2 \$ L6 X<option value=0>小学</option>/ d; c$ ~4 t$ i" @9 P* P- ~
<option value=1>初中</option>" C+ p9 E: A4 F; p" g0 I, Y- d
<option value=2>高中</option>$ x* K6 L, u, j* R
<option value=3>中专</option>
+ G: ^4 H# S+ H6 b8 ?; X: G<option value=4>大专</option>% H: i0 ^" U* Q
<option value=5>本科</option>6 `+ |4 v, R9 |, {+ |8 L( N* ^
<option value=6>研究生</option>, k3 @# a% j, ~2 x- X3 q+ E& @- n
<option value=7>博士</option>! D: a4 P; H; k( {- y8 ?
<option value=8>博士后</option>/ A7 p' p% ]5 U1 g7 x( E1 }$ p4 S+ U
<option selected>请选择</option>
# X: }7 c+ S% F8 L$ j9 A8 G</select>
1 N$ T; m$ N" t( d5 W& D, M三、多选select组件涉及的所有常用操作:! ~; W7 g7 [ {
1. 判断select选项中是否存在指定值的item
- D6 w8 H; u' M0 H代码如下:, T/ L8 Y$ d) M
@param objselectid 将要验证的目标select组件的id
" C) \+ u% H2 }@param objitemvalue 将要验证是否存在的值+ k; S; O) ?1 D# [3 L
function isselectitemexit(objselectid,objitemvalue) {& G2 {( ]. y9 X
var objselect = document.getelementbyid(objselectid);0 Z8 m' ~. u/ X
var isexit = false;
( S; Q4 o$ ^! l2 }$ Q; } zif (null != objselect && typeof(objselect) != undefined) {
8 k5 l& i r$ l' ufor(var i=0;i<objselect.options.length;i++) {/ C) z) c# L' m$ P+ _" ]
if(objselect.options.value == objitemvalue) {4 H8 c% u6 c; ~5 U
isexit = true;$ L* C9 @( q! ~8 \+ C$ c0 Q
break;: d4 G* U( m8 m* u: @2 L
}
) n: K, X3 }/ ]7 ?) P}- ]7 V" O k1 b: f
}
/ s+ G+ X W8 p% {+ Y5 Yreturn isexit;
" u( R2 D0 P* F6 r0 r' x/ l4 b}
; J2 V7 f) J9 u" M% ?' v2.向select选项中加入一个item1 W2 M' I' w4 Q; |5 C: N: t
代码如下:
' ^+ { }1 ]% q2 p& c {@param objselectid 将要加入item的目标select组件的id. w+ j# T& ?. _! l0 f8 N1 F
@param objitemtext 将要加入的item显示的内容
, T' S) J! K0 ]9 f: T% J) N@param objitemvalue 将要加入的item的值
9 F9 o. F; q& S5 b9 D% f; }function addoneitemtoselect(objselectid,objitemtext,objitemvalue) {$ l1 r" L( P7 g, f
var objselect = document.getelementbyid(objselectid);
! {0 p' K j4 v3 tif (null != objselect && typeof(objselect) != undefined) {4 _' G3 M9 }+ h [% R
//判断是否该值的item已经在select中存在+ _5 ]5 _" ^3 J) F2 h
if(isselectitemexit(objselectid,objitemvalue)) {
y7 g6 I7 |/ f+ b8 a# ^$.messager.alert('提示消息','该值的选项已经存在!','info');! E Q* P1 N+ y1 v3 e; }3 u
} else {4 Q" ~7 `1 m* U# w4 y" R: A
var varitem = new option(objitemtext,objitemvalue);
" y4 i9 O- H0 z0 `objselect.options.add(varitem);3 Y* y8 T* e, r) P' ]' t) t
}- p2 @" ^8 Y* s/ e! f
}; L9 T# I! W2 C' o- _
}
% \% y3 ?; U* N3.从select选项中删除选中的项,支持多选多删
1 ^' ]% h3 A7 h: a8 [- W" Q代码如下:
! n" L; E/ X% U% U) D( F@param objselectid 将要进行删除的目标select组件id
* Q6 X4 o1 H- b6 q8 X" Ifunction removeselectitemsfromselect(objselectid) {
5 z: {& e+ t0 c& |$ lvar objselect = document.getelementbyid(objselectid);) U3 d! o. F* l5 T) W3 |7 f- N
var delnum = 0;
8 b# R( `2 f/ W. C9 cif (null != objselect && typeof(objselect) != undefined) {6 x9 K' X5 G' G
for(var i=0;i<objselect.options.length;i=i+1) {
; B' w) }8 k+ Lif(objselect.options.selected) {: }8 t6 Q* z8 X, B! F1 V
objselect.options.remove(i);
8 d! ~$ x6 ` m5 v6 sdelnum = delnum + 1;
/ x& r$ e9 g1 H% xi = i - 1;
$ N R2 x9 \: w+ F/ b! G; W}5 O7 L& I* k8 f3 n
}
; J1 R& c7 T5 G; r3 x Uif (delnum <= 0 ) {9 ?" N+ J; X6 |+ T
$.messager.alert('提示消息','请选择你要删除的选项!','info');; N1 ^( J* Q3 ^! c. Q; w
} else {. A8 H2 x* o. L8 G+ z) `
$.messager.alert('提示消息','成功删除了'+delnum+'个选项!','info');7 Y* A: {0 O; S) f9 h
}% ~/ u9 {+ R, i. g* ~& Z4 N+ |
}0 L5 b9 W( `2 y# d4 q2 ?
}
: f% j! h; e) L9 b: T; @0 D1 R4.从select选项中按指定的值删除一个item
. d# j$ k, o) [代码如下:
; R1 v7 k% F$ x1 `@param objselectid 将要验证的目标select组件的id
; B! R T6 i' r3 B@param objitemvalue 将要验证是否存在的值
5 U ^3 W& Q* L6 w9 m; bfunction removeitemfromselectbyitemvalue(objselectid,objitemvalue) {6 _1 K+ j2 U4 M
var objselect = document.getelementbyid(objselectid);# B/ i4 ^) M+ I% c& _. A, b F
if (null != objselect && typeof(objselect) != undefined) {
4 ^' w! J: R; ?1 `; z1 j, d//判断是否存在
/ _6 `7 s( y1 e' dif(isselectitemexit(objselect,objitemvalue)) {
" y5 {& k4 I& b( c. X1 r7 tfor(var i=0;i<objselect.options.length;i++) {
# [/ P$ C" O5 m7 d+ }9 g) f' Sif(objselect.options.value == objitemvalue) {
9 i2 ?5 o0 x" Eobjselect.options.remove(i);
; { U' U6 S6 N$ L6 E* ]$ Y$ U) ?break;
5 b9 Z% U! \$ ]6 R9 T' h* c}9 f8 v% K U" `# H; B
}
) S/ X" k' x; z& y4 i' t, ]$.messager.alert('提示消息','成功删除!','info');
& R9 H: f& y8 f! u/ O. Z} else {; G! {0 j' e3 o5 V: F
$.messager.alert('提示消息','不存在指定值的选项!','info');( k A; H# B+ I2 g1 e
}6 R C$ Z J, G( r
}: F; H* K6 S, w! y4 Q: V
}
# }" M) ]* J$ i7 ]0 |5.清空select中的所有选项
6 D# h4 J6 t5 E代码如下:( M7 q' y+ i2 ?- v H1 `
@param objselectid 将要进行清空的目标select组件id z9 t; C2 p+ U- ]9 R9 Q% S
function clearselect(objselectid) {
/ l* u- _, J! `- h6 J$ Nvar objselect = document.getelementbyid(objselectid);% L3 ~$ W/ A4 c
if (null != objselect && typeof(objselect) != undefined) {4 A2 a F+ e+ ~; u8 C) e+ R$ f
for(var i=0;i<objselect.options.length;) {* g4 \/ q1 `9 j$ {2 o! x
objselect.options.remove(i);
2 W; w* X3 q* m$ ^" b7 ~}
2 S' U# ]$ G$ ^/ M}
$ J2 N/ C& R. Z; r}& Y5 b/ C, Z& k# Q
6. 获取select中的所有item,并且组装所有的值为一个字符串,值与值之间用逗号隔开
% z" K. P2 }, @- A4 A, @# s% C3 r代码如下:- S" ^( H8 Z- U! x$ U% o @' _
@param objselectid 目标select组件id
8 O% \; w4 A, I1 m! ^% q9 n8 a@return select中所有item的值,值与值之间用逗号隔开+ I$ V" O% f Z2 S% y: Q
function getallitemvaluesbystring(objselectid) {
; K" c5 x5 l6 A% x, d! evar selectitemsvaluesstr = ;
8 B6 r( }6 t. x" M" c/ N, m6 c' j, Qvar objselect = document.getelementbyid(objselectid);/ A7 b+ t( m( e: l
if (null != objselect && typeof(objselect) != undefined) {
- V! N. Z2 {; } {3 Pvar length = objselect.options.length
/ C* s; U7 g, g( F( K& sfor(var i = 0; i < length; i = i + 1) {9 Y0 ?7 \1 S3 _# c: U0 e% W
if (0 == i) { y/ ?6 P: F+ i+ \
selectitemsvaluesstr = objselect.options.value;
. {* ?7 {/ B8 V* i K/ D} else {
4 u* `4 B. a( Nselectitemsvaluesstr = selectitemsvaluesstr + , + objselect.options.value;, a- l- `! j+ f( Z* T; x3 E
}
8 h8 O' a; Y* o, z/ E* k}
+ n2 g: X2 p' k; ]5 G}7 v& `. }6 G: L
return selectitemsvaluesstr;
8 q& W) k' V1 K: L* N}, q% C5 y+ G) U; I1 u9 Z. o) r' n* M
7. 将一个select中的所有选中的选项移到另一个select中去. Y5 c @3 A- c& K( C/ }7 j# A, j
代码如下:
1 \- Y! F8 y1 p; }5 B- @@param fromobjselectid 移动item的原select组件id& Z' v6 {( }1 R' J+ s$ \7 e" D
@param toobjectselectid 移动item将要进入的目标select组件id
" W" n A! ?" g) ]$ D5 v5 Dfunction moveallselectedtoanotherselectobject(fromobjselectid, toobjectselectid) {
6 H6 e9 `% }2 O! g$ evar objselect = document.getelementbyid(fromobjselectid);
5 S% Q: f8 T' Uvar delnum = 0;
9 S2 W5 P6 V" Q5 A7 Mif (null != objselect && typeof(objselect) != undefined) {
. J- b4 T, J1 R4 X+ j( Cfor(var i=0;i<objselect.options.length;i=i+1) {' a! o8 a0 J d- I( H0 ?
if(objselect.options.selected) {
- X. _6 n5 W! {# L6 F: u: ?/ paddoneitemtoselect(toobjectselectid,objselect.options.text,objselect.options.value)
/ N& g, L$ e \1 b T# W; |" Dobjselect.options.remove(i);/ s {4 ?) y6 Q& B1 U" B
i = i - 1;9 Z( {% {! D+ W" @3 R
}
4 i. O/ Y* ]2 i& V4 V}
. R; t3 u% w; l}
& z0 ~; [+ b8 N+ c3 O7 f* _5 K}. `" P2 @1 ~; h0 ^
8. 将一个select中的所有选项移到另一个select中去6 o z- |5 G5 z# g! w
代码如下:
3 _# ]" |4 a8 ~2 w4 D@param fromobjselectid 移动item的原select组件id
- H/ p3 y7 Z2 \2 `5 R) r( V@param toobjectselectid 移动item将要进入的目标select组件id
# e; l' n. v" {; W* j. sfunction movealltoanotherselectobject(fromobjselectid, toobjectselectid) {
; @8 ]* G* s7 x9 U# b/ p. b; y; Zvar objselect = document.getelementbyid(fromobjselectid);3 X, G1 C8 P4 R4 r1 h/ R
if (null != objselect) {
( p+ X/ {/ O: g6 f% d( _for(var i=0;i<objselect.options.length;i=i+1) {* r8 p8 e2 D% r4 I0 B) W* S
addoneitemtoselect(toobjectselectid,objselect.options.text,objselect.options.value)# |9 G* {) ?6 b0 A/ T8 h: @$ E8 `
objselect.options.remove(i);
7 W- Q+ b. ?5 H& H" [0 ei = i - 1;9 ~+ o* o5 b* A2 P- K! i# d
}
: H6 Q5 l# K6 T6 t+ `/ M}
& [& R! }! h& j" h( Q3 S* l}
7 \2 F. l9 F4 @$ f) K: n' n0 ^, W2 b8 [5 {
更多网页制作信息请查看: 网页制作 |
|