返回列表 发新帖

html中select标签单选多选用法详解

570.1k 7
swmozowtfl 发表于 2015-7-10 22:29:19|湖北 | 查看全部 阅读模式
select 元素可创建单选或多选菜单。当提交表单时,浏览器会提交选定的项目,或者收集用逗号分隔的多个选项,将其合成一个单独的参数列表,并且在将 <select> 表单数据提交给服务器时包括 name 属性。, z! v/ x6 @1 ~: s9 L  }
一、基本用法:6 n! s; {" O/ n  e+ F1 ^
代码如下:
2 ~) ^2 Y; _* q/ E3 j
<select>0 P* u+ ~# P  C. a
<option value =volvo>volvo</option>
3 h, r+ C/ ?) p* L<option value =saab>saab</option>& C1 X& Y; ?1 g/ t; f
<option value=opel>opel</option>
; H" g4 ~) |: H0 s  J8 |1 f$ u: R5 y<option value=audi>audi</option>
" c3 w" n6 Y  s</select>
8 Q  {0 l! [9 X6 Z5 u5 k/ V  C; r其中,</option>标签可以省掉,在页面中用法
3 T4 t5 X  A: U4 X* l代码如下:
. `3 v% D9 |( ^% N# D( j, T+ l5 J
<select name=studycenter id=studycenter size=1>! V1 e' U& i" b6 ~7 P9 @
<option value=0>全部
5 ]+ T7 k4 T8 U<option value=1>湖北电大网络学习中心
: L4 U4 Q; B$ N* X0 W( Z<option value=2>成都师范学院网络学习中心, s  _* u: B' h# r1 V" \
<option value=3>武汉职业技术学院网络学习中心7 Z8 b( R9 n# W' ?$ u) M
</select>
0 C# j& C% D# E8 o" B8 i% z, N二、select元素还可以多选,看如下代码:
  |$ V, }( D3 X% V" F" Q代码如下:+ W) @5 V8 k7 c4 L
//有multiple属性,则可以多选
# [6 i  ~4 U( a- F2 v, F<select name= “education” id=”education” multiple=”multiple”>
% W0 |2 T' Y1 Q5 W% L8 u4 [( c<option value=”1”>高中</option>
( e/ c' V, ~- V  I; p3 O6 F<option value=”2”>大学</option>8 z! `" W( }* v1 e1 g) h7 B" q9 x* h
<option value=”3”>博士</option>
. t$ y6 w; g+ m, f( ]</select>2 P( @4 S3 X. s; Y
//下面没有multiple属性 , 只显示一条,不能多选
# s; i) x* o# I8 P, H+ P<select name= “education” id=”education” >
7 I/ Y5 d3 ]1 h6 T) D; \9 N* m- T. w& y<option value=”1”>高中</option>5 g" H# q  n1 Z5 d. P
<option value=”2”>大学</option>
' k1 ]$ e5 Q5 b6 k8 M<option value=”3”>博士</option>8 p, ]9 {: V; |+ G7 t+ B' p% v/ m
</select>
! v4 ?' E0 S2 }) C. l* \//下面是设置了size属性的情况 , 如果size = 3 那么就显示三条数据,注意不能多选的。: a9 F. {- k, K+ }$ i
<select name=education id=education size='3'>) n- N) D% N6 [6 F
<option value=0>小学</option>
! o  B5 E/ n# F! c* K<option value=1>初中</option>
# ^$ q) |8 }( z4 g, e5 h, \$ F4 ~9 p: r<option value=2>高中</option>9 ?, |6 S! G7 M; r& G& A7 H
<option value=3>中专</option>4 _5 r4 A$ i5 m9 w: i
<option value=4>大专</option>
0 o* T: t+ h1 @1 F( o<option value=5>本科</option>
2 N+ Z  N6 V: e4 b<option value=6>研究生</option>
$ M5 L) k0 g' x7 ?! \5 N. B6 Q<option value=7>博士</option>0 [- L" ?' g* H  {6 z* [
<option value=8>博士后</option>2 K4 Q. \/ T2 d) s
<option selected>请选择</option>
. W$ W  J/ U. F) s</select>
' ?& s; {9 z3 g7 y1 _& ?9 \/ C三、多选select组件涉及的所有常用操作:
" W) ~: F* g2 z. T  y/ Z1 g1. 判断select选项中是否存在指定值的item' H1 c- {3 B% t$ }# Q1 f! W
代码如下:' S3 D. w4 F  f/ q; y
@param objselectid 将要验证的目标select组件的id
- Q: x9 Y9 @/ K, ?% p5 q4 J/ A@param objitemvalue 将要验证是否存在的值" K' b. G! J& y9 ]' l
function isselectitemexit(objselectid,objitemvalue) {' S( L3 {  R$ n2 P
var objselect = document.getelementbyid(objselectid);
, |, ~7 Z- }. Xvar isexit = false;
! g/ O1 t: }5 N& dif (null != objselect && typeof(objselect) != undefined) {
7 e' Y9 Y- S- rfor(var i=0;i<objselect.options.length;i++) {
6 ~  Q, e+ C- B$ Y* cif(objselect.options.value == objitemvalue) {# u& T# N9 `* d, O% g  F
isexit = true;
& X0 T+ D$ M! [3 T0 v3 G5 qbreak;7 C0 h2 I* B0 c# B
}
# M9 {* E( }$ k" E}
! A+ B5 V- |0 q1 z9 {2 q}
1 N6 F, v: F5 Y" C8 T# preturn isexit;
5 o& j( C* ~# P" X9 M% s}
1 @/ T# o! a& i$ b7 k2.向select选项中加入一个item" ]6 B" {$ V4 g- e( D1 }1 ]
代码如下:
) t/ t9 m5 W0 T% Q$ V
@param objselectid 将要加入item的目标select组件的id5 g/ o" I: U/ G0 y8 E. ?1 x6 J# @8 M" s6 C
@param objitemtext 将要加入的item显示的内容5 |: w: d$ d! i1 y
@param objitemvalue 将要加入的item的值
) V! w4 V, ^4 t8 Y( ifunction addoneitemtoselect(objselectid,objitemtext,objitemvalue) {8 x# ^: s7 W: B% ^' z! |
var objselect = document.getelementbyid(objselectid);
  x4 d9 K8 r& I; V+ I" hif (null != objselect && typeof(objselect) != undefined) {# j) D; v$ F8 _# O5 [2 Z
//判断是否该值的item已经在select中存在
3 b) J3 {/ w6 Z' X, Cif(isselectitemexit(objselectid,objitemvalue)) {
8 o4 C, e# e' z# w6 P$.messager.alert('提示消息','该值的选项已经存在!','info');
6 A" }% o# \# g7 M* w0 l} else {
3 S8 n0 r% ~* r  M/ ^var varitem = new option(objitemtext,objitemvalue);/ N/ O; N3 M4 I* ~
objselect.options.add(varitem);) W9 O& G# V" E/ {
}
/ [6 r8 }) A% O1 j}5 \9 U. ]. f( R" A0 I! z# x% H& H* V
}( E; g9 o$ \. s' D) D! h
3.从select选项中删除选中的项,支持多选多删
2 S& C  d. _- D% [+ c: j代码如下:
! Y: {+ u4 `8 j8 X1 `
@param objselectid 将要进行删除的目标select组件id
/ S; \8 a. T" ~: J$ p3 G% ^function removeselectitemsfromselect(objselectid) {
/ ?! ]5 a' r. Z: m4 g3 ]var objselect = document.getelementbyid(objselectid);9 X+ ~9 \: x, v/ g3 o' {! d
var delnum = 0;# y& _; w& V$ y' @  R& ?; q7 @5 s
if (null != objselect && typeof(objselect) != undefined) {( t# G  E" [5 N+ t$ f
for(var i=0;i<objselect.options.length;i=i+1) {( S2 i: [8 u/ ^1 h8 m  V: |9 u8 E
if(objselect.options.selected) {* i- s* t5 R1 f( A; N* L% P  s1 j
objselect.options.remove(i);
4 x) _& @4 ^- J+ k! T' A! ]8 T1 xdelnum = delnum + 1;
9 F6 o( n3 s( I0 ^  E0 _4 hi = i - 1;4 U# f9 K; y5 z* _% P* `- V
}
- ^3 d8 V, ]+ P' {}- n' L9 s% n5 n- K2 A, G8 o
if (delnum <= 0 ) {
- v+ t  D2 j; h$.messager.alert('提示消息','请选择你要删除的选项!','info');
. e& i, b) o) b( ?! Z} else {
1 e; ?) F2 a- L( Y! S* T" K  E$.messager.alert('提示消息','成功删除了'+delnum+'个选项!','info');- j- A8 c9 {+ m" H2 k5 J1 ]
}
8 D# I6 z0 [; l5 c" m( }& @3 B}
6 Y* _' Y3 c8 k! a  Z4 l: t}  T7 U8 |' r+ o6 w! ?5 \$ o( H
4.从select选项中按指定的值删除一个item
) s2 q. n9 x' h; w, t% Q代码如下:
2 E% O1 l$ T, ~5 J2 i/ n
@param objselectid 将要验证的目标select组件的id
7 C. e5 X" K" |: U5 C" R1 l@param objitemvalue 将要验证是否存在的值6 u+ h3 J8 z* B+ Y% Y8 q$ {6 k) o
function removeitemfromselectbyitemvalue(objselectid,objitemvalue) {
# J! [. }9 j' N' g9 mvar objselect = document.getelementbyid(objselectid);8 t4 p7 |+ p* l
if (null != objselect && typeof(objselect) != undefined) {
  H8 I% y$ Y1 p) \& [: j; a$ r//判断是否存在5 n: b& [  `) d' i! u  k
if(isselectitemexit(objselect,objitemvalue)) {% J% B9 z9 v) w5 c
for(var i=0;i<objselect.options.length;i++) {
) m  Z' i" b4 g& Xif(objselect.options.value == objitemvalue) {
' @( r, ?# d) s! h* W' N' fobjselect.options.remove(i);! P( y$ K! u; V% Z. k' H
break;
' n, u/ e9 \! j5 ^9 u}" d1 z0 P) `6 w; |  J+ n9 j# V: j
}+ h; {) Y* E7 O/ ~( J. B. F
$.messager.alert('提示消息','成功删除!','info');4 Y! N: S; G: i* U, R1 m2 P) r8 A6 C
} else {$ N( n! P. }8 F, c1 k2 `
$.messager.alert('提示消息','不存在指定值的选项!','info');' N' p* C$ |4 P* }. u+ e
}  r  M# u9 f/ \
}6 ?1 `+ y7 U  B& R
}# N7 b' d: `& W  z1 B( Q) ~
5.清空select中的所有选项
3 L$ S4 z3 r3 h, |1 o' X代码如下:; O2 h/ A: O  G8 o' \/ K
@param objselectid 将要进行清空的目标select组件id# |* @" ]+ w# y% R9 n$ K9 X
function clearselect(objselectid) {
8 }# g3 P' i4 c, p% Z9 P4 fvar objselect = document.getelementbyid(objselectid);
" Z- q; e& S+ r7 A* P& L7 Bif (null != objselect && typeof(objselect) != undefined) {
# ]* R5 x1 s9 `. L" ]5 Q* a( sfor(var i=0;i<objselect.options.length;) {
. x% {1 Q4 G+ m$ Uobjselect.options.remove(i);
  ]' }5 d3 F- G3 L% o# Y4 O}
  _5 J, |1 b9 g% g: e$ r}
& }6 r0 v9 V; A6 r}
' \8 A+ h$ W' q! `2 `6. 获取select中的所有item,并且组装所有的值为一个字符串,值与值之间用逗号隔开( s* }$ Y- q8 U# ?
代码如下:
/ D( [6 g  k& R/ L3 P. z; f7 R. c
@param objselectid 目标select组件id
' i* Z* k4 r" x& k@return select中所有item的值,值与值之间用逗号隔开
3 c+ ^# z. e5 }. c' V+ V- e% J# xfunction getallitemvaluesbystring(objselectid) {* P5 l# l0 F9 z+ w. X
var selectitemsvaluesstr = ;
: u' f) A3 D$ K' Q6 L) W: hvar objselect = document.getelementbyid(objselectid);
+ ~. m# i. z5 w+ l! Rif (null != objselect && typeof(objselect) != undefined) {
( v. Q" ~+ I2 Q$ |/ [" nvar length = objselect.options.length
8 @7 ~1 _- R2 y$ ~for(var i = 0; i < length; i = i + 1) {
; ^$ |7 f6 T# }0 d8 jif (0 == i) {. K0 h2 Z. f, U; P0 ^
selectitemsvaluesstr = objselect.options.value;* i' d0 P, T! k* z" `/ Q+ h* q
} else {9 l* b4 c* Q' Y0 h( s$ o
selectitemsvaluesstr = selectitemsvaluesstr + , + objselect.options.value;" G4 f" y8 h- H, U* W0 K
}
2 ~) N, g# o2 \$ j}
4 q# c! u7 T( q, Z! b( S, m}
! F9 z4 Q7 R2 J- dreturn selectitemsvaluesstr;
5 \1 Z( K7 U* u0 a. K}
+ O. z7 L) `: |& K7 Q/ S7. 将一个select中的所有选中的选项移到另一个select中去
- x5 p" Q8 q3 J- @* e( H! }代码如下:
8 z( O$ X/ o4 ]
@param fromobjselectid 移动item的原select组件id6 d; \$ S, K6 d; J/ x% p; ~
@param toobjectselectid 移动item将要进入的目标select组件id
; w$ H1 F! z% lfunction moveallselectedtoanotherselectobject(fromobjselectid, toobjectselectid) {% M9 b  \$ v/ G# D) T
var objselect = document.getelementbyid(fromobjselectid);
6 H' K( |4 t: i; b. Svar delnum = 0;# T+ A) w! \# g) G8 J: F0 V. G
if (null != objselect && typeof(objselect) != undefined) {
7 T4 r0 ~) \& k  P+ U7 n, kfor(var i=0;i<objselect.options.length;i=i+1) {
: _: x) a( ?6 H# }8 Jif(objselect.options.selected) {" T' e$ \( D7 w' ~/ _1 G
addoneitemtoselect(toobjectselectid,objselect.options.text,objselect.options.value)& x0 L, ^( R8 ~) k
objselect.options.remove(i);
, C  f8 f" G$ M6 V% Di = i - 1;
! W0 t( t# P' t1 r' h! t}
. E' U4 n, K1 W( h8 [4 r7 Z: C}
" {( Q) R  G6 H3 Z1 t}% A: q: C+ }6 [) F
}
) N. ^6 `+ y+ b% s" h8. 将一个select中的所有选项移到另一个select中去
* n: u1 J; V1 h, J1 Z3 J代码如下:+ e3 o4 ]6 g5 X/ r1 R- ~! Q
@param fromobjselectid 移动item的原select组件id
- ?; a. c5 E  q  O: L@param toobjectselectid 移动item将要进入的目标select组件id: j' B; L9 j% l3 V9 Z
function movealltoanotherselectobject(fromobjselectid, toobjectselectid) {
2 G7 ?9 e1 b' @8 x% avar objselect = document.getelementbyid(fromobjselectid);& \- l' F0 N+ d+ }* m; i
if (null != objselect) {- X( q; Y- C5 l# d+ \% b
for(var i=0;i<objselect.options.length;i=i+1) {
  J" z  }1 O. P: o$ N' [) k* `addoneitemtoselect(toobjectselectid,objselect.options.text,objselect.options.value)* Q7 U( B! K6 ?" r# P2 {; i. c4 Z
objselect.options.remove(i);- ?1 F. _& s, S$ ?: e, g
i = i - 1;, }& `2 J0 D# w1 b  ]
}' a0 F0 m. j# d/ c; _: I* ^2 I
}
! z% R- ^9 r* B( ]( I# ^1 j}
) X2 i+ C/ R& P/ g% }: t
& g& U2 x0 A1 _6 H$ {更多网页制作信息请查看: 网页制作

回复|共 7 个

seazvyt 发表于 2016-3-22 22:28:34|意大利 | 查看全部
下次有人骂我了...我给他还回去..
mwxny 发表于 2016-3-22 22:28:58|内网 | 查看全部
我不是来抢沙发的,也不是来打酱油的。
wwdu926a 发表于 2016-3-23 18:46:39|美国 | 查看全部
你该这么说~~
seazvyt 发表于 2016-3-23 18:47:01|美国 | 查看全部
哦~~~明白了....
mwxny 发表于 2016-3-23 18:47:19|加拿大 | 查看全部
还没崇拜过谁呢,满足一下愿望吧,谢谢!
Mqokjdvq 发表于 2016-3-23 18:47:42|巴西 | 查看全部
我是来收集资料滴...
Mqokjdvq 发表于 2016-3-23 18:48:07|美国 | 查看全部
今天统计好像出了问题

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 得知互动-专注Ai与站长技术交流社区-Ai交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表