返回列表 发新帖

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

569.7k 7
swmozowtfl 发表于 2015-7-10 22:29:19|湖北 | 查看全部 阅读模式
select 元素可创建单选或多选菜单。当提交表单时,浏览器会提交选定的项目,或者收集用逗号分隔的多个选项,将其合成一个单独的参数列表,并且在将 <select> 表单数据提交给服务器时包括 name 属性。# p% I9 f* q+ E7 |8 t
一、基本用法:) B. U5 \( r# B8 o
代码如下:
3 B2 P$ Z" @! M, W' \" g+ B
<select>
: R9 K; }' j# X( ~<option value =volvo>volvo</option>
5 H; d+ Q% X. c5 R- ?3 O<option value =saab>saab</option>
7 c3 z% B0 n4 n5 u! c, p8 Q4 W<option value=opel>opel</option>
0 y2 S6 S8 y7 P<option value=audi>audi</option>
7 T# T$ y6 m1 v+ _' J</select>/ \2 _6 z' o) c
其中,</option>标签可以省掉,在页面中用法
* B8 [/ I  ?1 l代码如下:
# u9 k/ A3 m1 _
<select name=studycenter id=studycenter size=1>/ K7 F) L5 I( D
<option value=0>全部2 s8 C- m0 P6 V6 ?% s  `' Z
<option value=1>湖北电大网络学习中心- u$ z; [6 d% f" o
<option value=2>成都师范学院网络学习中心
/ j4 U3 D& f& Z% Z* ]<option value=3>武汉职业技术学院网络学习中心
. G/ ~% C6 V) `/ M' w</select>
1 O5 E- a0 C3 r' B二、select元素还可以多选,看如下代码:  v/ P8 ?" S4 o2 a# c5 z
代码如下:
$ Q7 V: M* D; Z- W  j/ m# L1 G
//有multiple属性,则可以多选
% H6 r) R* I; w3 |<select name= “education” id=”education” multiple=”multiple”>1 `/ b/ Q7 P( L* r
<option value=”1”>高中</option>, f% l) r" s, X" r0 m7 q2 S
<option value=”2”>大学</option>2 j+ V  j- R7 u) E* c
<option value=”3”>博士</option>
) o! O8 k( L2 c7 l' l# }' Y</select>
2 C7 `( V. f+ b% [//下面没有multiple属性 , 只显示一条,不能多选
& O' g* O# }( l5 `' C5 B# @/ W<select name= “education” id=”education” >
9 H! K5 N( \9 b) ^<option value=”1”>高中</option>
) o  V. D' z' d8 ]. }7 {<option value=”2”>大学</option>9 E  A9 R$ g' i& W, ~. H
<option value=”3”>博士</option>7 i! t" Q' Z3 [
</select>& O" X0 n8 W! p, ?/ @( d* c. z
//下面是设置了size属性的情况 , 如果size = 3 那么就显示三条数据,注意不能多选的。2 T' n1 w$ {3 L. B" x
<select name=education id=education size='3'>
( p# Z0 d, l$ e<option value=0>小学</option>
2 p8 o6 \5 ]- O  X# A/ F: ]<option value=1>初中</option>
# x0 G8 i( v! Z8 _' |0 F" o0 ~/ G<option value=2>高中</option>+ o6 S6 X. J; R
<option value=3>中专</option>% U8 b0 k* A5 i8 |* O2 N. b7 c
<option value=4>大专</option>6 x& d0 a( J2 q' k9 W
<option value=5>本科</option>5 J9 {" S- H! o" M8 v) u) i* v4 q. _
<option value=6>研究生</option>5 O& [  `2 o0 O% q
<option value=7>博士</option>
7 a" M& |9 y9 y0 h+ b) E7 K" ~9 l4 d1 M<option value=8>博士后</option>
8 F8 _$ ^/ g- L' o<option selected>请选择</option>& _! h+ J4 b; l: r) Y! O
</select>
) f9 z  e) ?; I三、多选select组件涉及的所有常用操作:
) N1 A/ P/ w6 X2 f. t( G1. 判断select选项中是否存在指定值的item
( ~+ S. K" L4 ^; u; `+ C; q: K代码如下:
) W, O, }3 [! o  x& t- f+ S  S; T
@param objselectid 将要验证的目标select组件的id
" H" C! P2 @7 w9 `@param objitemvalue 将要验证是否存在的值
$ |3 g2 d* S( \- i" hfunction isselectitemexit(objselectid,objitemvalue) {
# R" @5 R0 O5 u6 R4 t" mvar objselect = document.getelementbyid(objselectid);. j7 D( H( h' H# w5 f" b3 q
var isexit = false;* E5 M3 s' f' P
if (null != objselect && typeof(objselect) != undefined) {: `# c" E! h: V! Y
for(var i=0;i<objselect.options.length;i++) {# I8 n  U. Q% M& [6 k, o( P
if(objselect.options.value == objitemvalue) {/ X" f3 @6 |. H: y3 n5 Z5 w
isexit = true;- L- i: o% ~: w( r! z* M
break;
; D4 V$ Z- m3 J1 m# _+ E! o}+ J# C# A7 R* }- q4 y- j
}4 p& E# U, p0 T3 k/ S2 }
}+ d1 Z( x3 |" C6 q4 c3 X9 B
return isexit;
/ s/ _! F+ O+ x) C/ Z8 k7 v}# W. O# @% b) e9 W% h6 ~6 g" P
2.向select选项中加入一个item
* g1 u- l; p$ g4 V$ G代码如下:) Z& g! g4 _& ^* Q
@param objselectid 将要加入item的目标select组件的id
; q5 `% _1 I) @6 ~@param objitemtext 将要加入的item显示的内容# Z1 M( n1 L4 }8 G- i9 r
@param objitemvalue 将要加入的item的值. B9 A% H- j5 G; j
function addoneitemtoselect(objselectid,objitemtext,objitemvalue) {
( \: m- [7 g9 I0 n' @3 Fvar objselect = document.getelementbyid(objselectid);
- g  _8 V: J- ^9 h8 Yif (null != objselect && typeof(objselect) != undefined) {7 R7 W! K9 b( F/ s- w) `
//判断是否该值的item已经在select中存在
) B+ T3 k3 y- {  F. Xif(isselectitemexit(objselectid,objitemvalue)) {; ?$ T0 M6 U2 ~" Q& R
$.messager.alert('提示消息','该值的选项已经存在!','info');1 g( A  f4 V) z% T
} else {
4 H% K! \+ a3 V$ D( q( K. w# Vvar varitem = new option(objitemtext,objitemvalue);7 u2 C, }" H% ?' e
objselect.options.add(varitem);+ o# m' _' u# L" r% w- i3 e+ c1 G
}
1 Z$ r+ g% F" O}" J  O# p6 W& W' `7 e+ A
}( U4 _4 p  E7 _3 F: A# ?7 y
3.从select选项中删除选中的项,支持多选多删
; P- Z4 c3 C; M$ f9 L5 M; \代码如下:
" _- L( A% \2 X1 E+ m
@param objselectid 将要进行删除的目标select组件id
3 b+ G7 B$ C" P( P- E7 Z1 k1 yfunction removeselectitemsfromselect(objselectid) {
2 q( y( d7 F: o7 svar objselect = document.getelementbyid(objselectid);' }, `/ m6 r# Q& X  S% h* f- ]' `% r" {5 F
var delnum = 0;$ x4 a0 \" S1 q
if (null != objselect && typeof(objselect) != undefined) {$ l% W  W* Q' `
for(var i=0;i<objselect.options.length;i=i+1) {
1 \3 f% q+ v; p8 i* ^) V& G4 @# g* ?if(objselect.options.selected) {
% v# u/ \! `7 g6 Bobjselect.options.remove(i);
6 ~4 |0 m/ r# B! x3 b0 f2 v5 Jdelnum = delnum + 1;$ e" c, {3 h5 E1 O/ s! @3 N& R
i = i - 1;
* R1 v/ b+ L' m& t: U# P: |- l% N}/ u. X" h% H9 Q
}
% u& H1 K+ t7 R6 V2 Y/ Lif (delnum <= 0 ) {
6 s% k9 {3 @- ~  A( q1 c/ a$.messager.alert('提示消息','请选择你要删除的选项!','info');" Y* v* q: [! \1 W/ j
} else {7 ?5 M. j5 W; N. |8 F% }6 q% M
$.messager.alert('提示消息','成功删除了'+delnum+'个选项!','info');8 k1 x1 }0 f9 e2 i
}
, ?! \5 `" l) g}6 k+ S- d6 S9 g+ d/ G, w1 h
}
! G4 E( [& M& k$ t, f4.从select选项中按指定的值删除一个item4 K- g  d6 B% m9 y( S
代码如下:
$ P' ]  ^" I1 P3 _' Q8 A
@param objselectid 将要验证的目标select组件的id* H. k* _$ K- J: b" g
@param objitemvalue 将要验证是否存在的值
/ [/ |/ h. z' ]# U$ Z- pfunction removeitemfromselectbyitemvalue(objselectid,objitemvalue) {
# `5 u& f4 k5 @: ~var objselect = document.getelementbyid(objselectid);2 |; |& Z' X( c  `
if (null != objselect && typeof(objselect) != undefined) {
3 S; A& D* ]# ?/ o4 L" X# Q//判断是否存在; p' @+ x0 w; q2 f; G" y* N. Q
if(isselectitemexit(objselect,objitemvalue)) {& y4 e2 X" E! {$ b0 Q% @  G- @! R
for(var i=0;i<objselect.options.length;i++) {% O9 G' y- {7 a! N. _1 {) z
if(objselect.options.value == objitemvalue) {, G6 ?- v8 ~, C- \) T
objselect.options.remove(i);
9 B& [  h' i' R& [5 L9 S' Mbreak;
0 v& @1 k# g+ p: m: v2 u}
: H/ r; L, i5 D4 D* {- ~0 S}7 _# X+ n  }1 M) P/ l; G& c
$.messager.alert('提示消息','成功删除!','info');
. l8 w$ n6 b& h# s  I& @8 B5 J$ d/ V} else {- h5 _( b+ K( ~+ n  \7 |# `
$.messager.alert('提示消息','不存在指定值的选项!','info');3 i# X# c7 _, W8 r# B7 Z/ @. A
}
. ^# H' R- S8 k' e}0 Z! w. ^$ X0 [% {) h
}
: @3 K7 x/ P" [7 ~# y) S6 D' ?6 d5.清空select中的所有选项
; m, Z! O" H# K! V4 ^" f! L代码如下:
0 z7 X* s$ ~7 H2 Y5 J. l( y% F$ m
@param objselectid 将要进行清空的目标select组件id
6 x" i% Z$ n: y4 v) {* M2 Ffunction clearselect(objselectid) {
: I* I- I3 K3 cvar objselect = document.getelementbyid(objselectid);2 p5 t9 }5 \1 Z4 I9 x5 L: R3 W
if (null != objselect && typeof(objselect) != undefined) {
3 i& ~& p4 D# S# v0 T' ]/ bfor(var i=0;i<objselect.options.length;) {4 e0 U8 _- n7 M7 W- H" \3 F5 f
objselect.options.remove(i);* `+ d" ]" T8 ]
}" I4 B3 o  S" L  x9 y" V9 v
}
7 x# S; r2 |* J9 y# B; e}
. w" x' k; B. U2 q6. 获取select中的所有item,并且组装所有的值为一个字符串,值与值之间用逗号隔开/ \$ B9 t% w6 j) i4 v/ V* m
代码如下:. E* \  p1 O" t  F
@param objselectid 目标select组件id
) s6 `0 u+ O% M- j@return select中所有item的值,值与值之间用逗号隔开, P; u, v0 A0 m( O. u8 Z
function getallitemvaluesbystring(objselectid) {# P$ U# G" ?5 N! m
var selectitemsvaluesstr = ;
' Y9 t, h; G$ h8 ]; b5 rvar objselect = document.getelementbyid(objselectid);
  y: a9 F5 R$ g) v% Wif (null != objselect && typeof(objselect) != undefined) {
2 E( A& S2 [+ T1 D2 ivar length = objselect.options.length3 }  `* R) V* H2 F& b
for(var i = 0; i < length; i = i + 1) {
8 I: @, p. r# [if (0 == i) {
& p& m5 G7 K/ j! Pselectitemsvaluesstr = objselect.options.value;3 o; t- U7 @, P) Y0 v0 |" p
} else {
9 s+ L- K3 n& hselectitemsvaluesstr = selectitemsvaluesstr + , + objselect.options.value;( d+ X5 h  m& _) N' t
}! k8 N+ K( [; O, c- O% z
}/ A* v$ v& M5 E
}
/ @: [# W, O2 o. Qreturn selectitemsvaluesstr;
. N4 k) i8 z& s% Q3 i3 q}, @0 S3 m5 P9 d. s$ l7 @7 c( Z  i
7. 将一个select中的所有选中的选项移到另一个select中去
1 X) c& x  E& @/ r* {/ u: L代码如下:/ F4 E, P  J7 j( ]( M
@param fromobjselectid 移动item的原select组件id9 f- V& o- A: D# g
@param toobjectselectid 移动item将要进入的目标select组件id
  ~/ C& a+ i# v  g, Lfunction moveallselectedtoanotherselectobject(fromobjselectid, toobjectselectid) {
& s, j5 q) D3 Ovar objselect = document.getelementbyid(fromobjselectid);
" @2 f! K' N8 {, r2 Q% T; Cvar delnum = 0;/ q& N0 i4 ?" _$ z9 ^
if (null != objselect && typeof(objselect) != undefined) {
# F- U+ j$ U4 b# c/ s( z; ]for(var i=0;i<objselect.options.length;i=i+1) {1 O, S& n/ i7 l0 |: _
if(objselect.options.selected) {. ?+ @( v  S, Q* C0 J8 n! d3 q
addoneitemtoselect(toobjectselectid,objselect.options.text,objselect.options.value)
4 W5 P5 b1 W! I8 {  Vobjselect.options.remove(i);$ ~6 Z# C& ^  }) L7 B' ?1 I
i = i - 1;, x2 N7 y- j) F, J$ O
}
3 S; [( y0 o& w}
- d3 q: F' G/ T7 J& i}& t6 Z4 L" `0 N* H- i
}
2 a6 B8 p8 z% X8. 将一个select中的所有选项移到另一个select中去1 U; x- K+ o6 l
代码如下:3 }3 o0 Y% e" d" W2 f
@param fromobjselectid 移动item的原select组件id. m1 _" T8 K  s2 V7 R" q" o
@param toobjectselectid 移动item将要进入的目标select组件id( u, f( r7 ?* ^* l. x# Z6 g: \& P+ T
function movealltoanotherselectobject(fromobjselectid, toobjectselectid) {$ `  X  X( m9 Q& Z  y
var objselect = document.getelementbyid(fromobjselectid);
9 x0 v/ m1 J6 }" _" g1 L: pif (null != objselect) {
; x/ e4 g# N( e, ?+ d* Y& O/ dfor(var i=0;i<objselect.options.length;i=i+1) {; Y/ a/ W8 ~6 T1 H8 M9 f9 C6 F: S+ R
addoneitemtoselect(toobjectselectid,objselect.options.text,objselect.options.value)
) O% n! T4 B; M) T. l) z* g9 oobjselect.options.remove(i);! C' H1 t( Y% \7 C' ?: u
i = i - 1;
' e$ [6 H+ j6 U! P, \}7 B- k. N! g: r! a
}/ U# x& z4 k; t) x5 s# h
}' b, ~9 V" A' U6 J( z
7 J& d. e! `# E3 u: R; t* O7 p, X
更多网页制作信息请查看: 网页制作

回复|共 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技术交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表