返回列表 发新帖

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

569.7k 7
swmozowtfl 发表于 2015-7-10 22:29:19|湖北 | 查看全部 阅读模式
select 元素可创建单选或多选菜单。当提交表单时,浏览器会提交选定的项目,或者收集用逗号分隔的多个选项,将其合成一个单独的参数列表,并且在将 <select> 表单数据提交给服务器时包括 name 属性。
! e& o+ U4 J# R一、基本用法:6 J8 ?  b4 a4 _; @/ c' w
代码如下:
# N5 w% E% o8 m; v1 r
<select>5 X5 _  C+ V0 N* d) C
<option value =volvo>volvo</option>; V1 \" g3 b- h! \
<option value =saab>saab</option>
5 {' U0 W  Z- @6 r+ I<option value=opel>opel</option>
7 |- c, q6 K  d<option value=audi>audi</option>
" A" F2 N0 C/ T* M$ v- a</select>. B  v9 U9 U# P! G9 D. M
其中,</option>标签可以省掉,在页面中用法( ~. E* b+ j: m3 t: q" g
代码如下:
; G; G4 i6 O, t' l. N. m- a
<select name=studycenter id=studycenter size=1>0 O5 R1 a/ M7 o5 U
<option value=0>全部  |$ L) ?$ f) X$ u) U1 L
<option value=1>湖北电大网络学习中心8 l( C! Q9 i: E7 m
<option value=2>成都师范学院网络学习中心
+ |( i. w! P& c# f; P$ H9 q<option value=3>武汉职业技术学院网络学习中心. s* N, }  K$ N, i* s
</select>. I! k; N$ }3 X) l6 x. ?) K8 @
二、select元素还可以多选,看如下代码:- D) c' I0 z) q- U# B
代码如下:
2 _1 o) e( P" E+ W
//有multiple属性,则可以多选
1 F+ S4 v) v& l' o4 w! i<select name= “education” id=”education” multiple=”multiple”>, {" b$ A! J5 s: p: d  K# z
<option value=”1”>高中</option>1 k5 j% o" w4 P( U. e( Z$ z
<option value=”2”>大学</option>6 o5 ]1 C* k, t! U
<option value=”3”>博士</option>
* R. m, s) {0 J8 ~</select>( E0 a4 H* S% t% R7 u% s. Y
//下面没有multiple属性 , 只显示一条,不能多选+ A# C9 e+ ?' }
<select name= “education” id=”education” >
% ?5 u' m( W$ N. ]" D<option value=”1”>高中</option>, R+ f2 q& ]! o% q  I
<option value=”2”>大学</option>- g; m. K( v" J7 q( ^% |
<option value=”3”>博士</option>; T8 C: w3 W+ P+ ?$ s
</select>  S* j; h8 O  y( B1 y) |) x
//下面是设置了size属性的情况 , 如果size = 3 那么就显示三条数据,注意不能多选的。* U: S" v, `9 |& j; x
<select name=education id=education size='3'>2 [9 b5 g4 N1 o0 F
<option value=0>小学</option>
; W! C) U: R6 G6 x7 G<option value=1>初中</option>
7 c5 h  g5 {1 N9 Q<option value=2>高中</option># G0 c" W8 |$ E# N! b9 R6 ]
<option value=3>中专</option>9 F1 t8 r+ q$ @4 @2 G; k- f6 O
<option value=4>大专</option>
- J& Q2 J/ {1 _& \* }0 b- m  k( f<option value=5>本科</option>
1 A: s  K# N# V( ^: G" e! K0 K<option value=6>研究生</option>' [( Y/ _7 x2 [" o2 _) D0 h
<option value=7>博士</option>
- G3 i; u: X/ ~' C0 s# k& N<option value=8>博士后</option>7 P) A4 U6 ^$ q; |
<option selected>请选择</option>' ?/ D& P; j5 |  G. e
</select>
" F0 @) C! @/ j7 M" e* r三、多选select组件涉及的所有常用操作:
* U+ S4 v, Q; e# w0 y1. 判断select选项中是否存在指定值的item
3 q8 j4 v+ H4 Q3 d+ j" F代码如下:
* Q, S" M# o/ z- v9 j
@param objselectid 将要验证的目标select组件的id
& j) c# g0 B5 ^: t. `8 q@param objitemvalue 将要验证是否存在的值
! M0 Z+ v( u# `function isselectitemexit(objselectid,objitemvalue) {
( W* H" m# {# o6 F. w+ qvar objselect = document.getelementbyid(objselectid);, E& e# U0 r6 o; B) _
var isexit = false;1 ]9 c3 z. q6 R6 d) |7 e( k
if (null != objselect && typeof(objselect) != undefined) {
" \) P' |- H: X7 F/ Rfor(var i=0;i<objselect.options.length;i++) {$ p) p) C! {6 o- i4 E* _
if(objselect.options.value == objitemvalue) {
2 T/ q9 r! N) T# F9 Lisexit = true;
5 Y" a: I) a' G$ H, C( m! F0 Wbreak;# b/ k3 Q! B9 b  ]2 c' K
}( i' E% c/ Z/ u% N
}4 C' |  U2 w' {
}
: L; _/ x, f5 }1 j. E' `% w- Jreturn isexit;; ^0 V  V6 R" K5 M5 }- l. F) o
}: V# [( W$ n" [9 H% C0 c- A5 k
2.向select选项中加入一个item
; ?6 T* ]- |* `6 T* ]$ L6 J$ V, D% W& |代码如下:
. w% X* ?: A3 b4 i: x
@param objselectid 将要加入item的目标select组件的id7 F( M1 D3 W6 M' P; ^
@param objitemtext 将要加入的item显示的内容% ~( I( F' Q0 U( r0 K: U7 ]
@param objitemvalue 将要加入的item的值. |# }6 l6 }+ t" X
function addoneitemtoselect(objselectid,objitemtext,objitemvalue) {
- C  _8 N7 j- s! Z+ N/ wvar objselect = document.getelementbyid(objselectid);) _) S( z# B7 ~: v4 v# G
if (null != objselect && typeof(objselect) != undefined) {  l, j& K% C8 J3 v6 d1 o$ o
//判断是否该值的item已经在select中存在2 ?1 A) b* I' u
if(isselectitemexit(objselectid,objitemvalue)) {6 d7 x- @9 f: A+ W* T9 _2 n* o: w
$.messager.alert('提示消息','该值的选项已经存在!','info');
0 m* R2 Z7 I1 G- Q} else {
. Q2 V/ b2 X( tvar varitem = new option(objitemtext,objitemvalue);" l: [" |5 ]* g+ ?$ O# U4 G
objselect.options.add(varitem);' E  C( B# j( |/ n0 v
}! n- b8 Q6 W$ ]# N
}4 e' f6 |8 J' {& a
}: @6 c' {+ ~3 P4 ], E; S0 d/ B
3.从select选项中删除选中的项,支持多选多删- N) t  A0 f) F
代码如下:
% V3 j! |7 L8 F: a6 e
@param objselectid 将要进行删除的目标select组件id
. s$ H9 Q9 ?- o( P/ j7 Afunction removeselectitemsfromselect(objselectid) {2 e! ~5 e# x2 P
var objselect = document.getelementbyid(objselectid);
$ p0 t6 R8 b0 svar delnum = 0;' q1 M3 j7 A2 ?# b# d4 n
if (null != objselect && typeof(objselect) != undefined) {
% c: p4 m: [; c" v( Q$ ifor(var i=0;i<objselect.options.length;i=i+1) {
, [, I  N% E( ?  b2 u6 jif(objselect.options.selected) {8 a7 F* Z! v  W
objselect.options.remove(i);  R; \: L& v8 T8 t; B
delnum = delnum + 1;
7 G* d* o4 T' z% `- u& ai = i - 1;
( ?1 s- m: ]$ b  U}/ f2 c, Q: g. `, K
}0 A1 m! \- G  i' G% v5 k
if (delnum <= 0 ) {/ @$ k, m  w% H
$.messager.alert('提示消息','请选择你要删除的选项!','info');! s# {- f- B6 D- _
} else {
. t5 ^5 Z3 k4 x/ a9 |* c5 x$ o$.messager.alert('提示消息','成功删除了'+delnum+'个选项!','info');* w3 w3 H+ O2 s4 [# g/ g( j0 d: V
}1 y& n' [& B! f  Z/ w2 Q
}
; l% t6 o+ e" B}
0 l- e3 E! f7 U+ ~) N; U4.从select选项中按指定的值删除一个item" |2 T: ^0 I# c3 o, L' B; {; B+ a
代码如下:( ~# _- O3 \- k  N  C0 F! u
@param objselectid 将要验证的目标select组件的id
6 r8 z) \  w# m: m/ Y& ~@param objitemvalue 将要验证是否存在的值
0 p( i) ?" k+ C: efunction removeitemfromselectbyitemvalue(objselectid,objitemvalue) {+ g' W: E6 e6 D: F' i9 x! a
var objselect = document.getelementbyid(objselectid);" q. i4 p$ U) V$ b( \) _
if (null != objselect && typeof(objselect) != undefined) {6 ~" A6 a3 f. N( T! B
//判断是否存在
# V6 @7 u! ^0 X) kif(isselectitemexit(objselect,objitemvalue)) {5 n8 E7 |; d  c. p1 _( s1 j
for(var i=0;i<objselect.options.length;i++) {
! U( M* e+ F# }0 C, Nif(objselect.options.value == objitemvalue) {
1 r3 W( a  `0 dobjselect.options.remove(i);
, L$ V. H9 T" D3 @. j' o" ?break;
1 Y& z0 z/ R5 N% h" z3 M}% e7 ~4 _5 q8 ~
}
  H2 G/ Q$ a) v; i( x4 ]$.messager.alert('提示消息','成功删除!','info');
! D7 _) ^; Z( J; G} else {. I6 y; }: d$ L9 u3 L2 Z8 @
$.messager.alert('提示消息','不存在指定值的选项!','info');- Y  o6 F( y! A+ J. A' i
}
# B' V6 t6 ^, U% r9 C! P, |# }8 D+ l}
# U6 E0 K" D: w' X; t6 G}
3 Z( f; u. Q# _2 d5.清空select中的所有选项; Z* G) ~5 v0 _
代码如下:
6 N% b4 A0 Y. G9 Q1 _: }
@param objselectid 将要进行清空的目标select组件id3 |# ~# N( z0 E5 |, u; g
function clearselect(objselectid) {
) m/ Y7 J( J# J$ [2 w* r; N8 a% G, hvar objselect = document.getelementbyid(objselectid);: H( p7 O: R: O7 |9 ?0 m' u. K
if (null != objselect && typeof(objselect) != undefined) {3 U/ K" h5 d' V- h
for(var i=0;i<objselect.options.length;) {
2 @9 c4 U+ M  [3 a# i. [objselect.options.remove(i);* o! l2 v# f* D5 ~& G
}" I: v: b) o- A, M7 L
}% D9 u) r% Y# ]2 c2 ^5 \5 r
}
: H& r% I3 [) L! G6. 获取select中的所有item,并且组装所有的值为一个字符串,值与值之间用逗号隔开
1 E& P; y7 n0 p代码如下:
( a4 J3 [3 }3 c6 x. I/ K& q
@param objselectid 目标select组件id
6 y* y: E. c4 c. _7 G* o@return select中所有item的值,值与值之间用逗号隔开* B* x) q  {- g9 X) J0 W% T
function getallitemvaluesbystring(objselectid) {0 V2 X5 G! E; x9 S* V
var selectitemsvaluesstr = ;
9 O* N, h7 D$ x' Y" f% i' {var objselect = document.getelementbyid(objselectid);
, ]- R* {. Q: Q- Z9 n' F+ ~, ~8 ]if (null != objselect && typeof(objselect) != undefined) {# y6 N9 J5 l- l& S7 F) O8 T
var length = objselect.options.length; x' |& ^# c& S$ n, I
for(var i = 0; i < length; i = i + 1) {
* w$ z3 l0 u) f; C$ Nif (0 == i) {9 {  q" `( i/ v" `4 _
selectitemsvaluesstr = objselect.options.value;8 I8 d' D& }9 n# m- J+ f
} else {
5 x) q. _3 \& }/ x* Kselectitemsvaluesstr = selectitemsvaluesstr + , + objselect.options.value;
8 A2 O5 [& x: T- M/ x: V0 O}
3 X8 X4 c) i/ v0 \}5 Q% I7 W# e& v( m: S% [" O# d% ]
}
  z5 E+ q3 w/ e- T( Nreturn selectitemsvaluesstr;
% \$ g/ ?/ V) c, K1 F" ?* g}" _/ q6 ?; `* j$ q% U: z! q
7. 将一个select中的所有选中的选项移到另一个select中去: e+ a- G4 v7 ]
代码如下:/ o" m. X4 N( j2 E
@param fromobjselectid 移动item的原select组件id) W$ b9 F* a8 S5 B" q
@param toobjectselectid 移动item将要进入的目标select组件id
' Y+ b+ j, ^/ c7 G! Jfunction moveallselectedtoanotherselectobject(fromobjselectid, toobjectselectid) {3 H4 _) z2 k, G# Z
var objselect = document.getelementbyid(fromobjselectid);9 g$ F* K3 p6 ^& ^7 y
var delnum = 0;
; K1 p' u, p. w) oif (null != objselect && typeof(objselect) != undefined) {
. R# ~) }' f* F2 |4 I, [' ~* Mfor(var i=0;i<objselect.options.length;i=i+1) {: W- o7 W% L3 a% o( w3 m
if(objselect.options.selected) {
" H/ }% r7 _$ o/ Z8 z" }  }addoneitemtoselect(toobjectselectid,objselect.options.text,objselect.options.value)
& x9 b) F2 T: b4 O' o3 U" {- Vobjselect.options.remove(i);
. A# J9 n2 u8 di = i - 1;
5 d- _% j- a& V4 ?) `, p* b& `+ a}
/ f4 S6 _) p% D2 X}1 K' Y) R; k+ V* Z/ |- v) l
}- x9 p8 d: l4 s% A# @9 u
}) [3 S' C6 X! }' P
8. 将一个select中的所有选项移到另一个select中去
2 k5 _7 d/ M# [) d6 S1 W代码如下:
2 \" X# \8 S% Q! f* ?
@param fromobjselectid 移动item的原select组件id
7 u' a" q% `2 m5 Z: x@param toobjectselectid 移动item将要进入的目标select组件id+ H5 @( r9 ~. H& w% y
function movealltoanotherselectobject(fromobjselectid, toobjectselectid) {
  u/ l# |. q' q. ovar objselect = document.getelementbyid(fromobjselectid);# n, w" C( L+ p8 C
if (null != objselect) {
7 U1 q. q  b" C. m3 D) d2 h9 K) nfor(var i=0;i<objselect.options.length;i=i+1) {
1 `1 l" n+ y$ W# J5 Xaddoneitemtoselect(toobjectselectid,objselect.options.text,objselect.options.value)- [9 Q* U" P, t& v% D
objselect.options.remove(i);
1 U( r" j3 v2 R: @& Q: Mi = i - 1;2 f- h3 T; U1 w4 P1 ?+ E; o
}
' f3 k5 N; c# A3 N7 k}
; W, J( T5 ?' C9 o7 n, r}
+ e" w. ?, M  c8 r* Y1 ?4 F! `. Q$ n! U+ W' z* \) Z5 ~
更多网页制作信息请查看: 网页制作

回复|共 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客服 返回顶部
快速回复 返回顶部 返回列表