返回列表 发新帖

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

569.7k 7
swmozowtfl 发表于 2015-7-10 22:29:19|湖北 | 查看全部 阅读模式
select 元素可创建单选或多选菜单。当提交表单时,浏览器会提交选定的项目,或者收集用逗号分隔的多个选项,将其合成一个单独的参数列表,并且在将 <select> 表单数据提交给服务器时包括 name 属性。; i2 K8 _6 |/ |& {
一、基本用法:
+ p- e7 ^+ `  d$ Z2 S! Z3 _代码如下:
# a" i# F- u6 ^: F$ V
<select>7 V' m. Y) q& O1 Z* q! J4 \' H
<option value =volvo>volvo</option>
+ G6 c% j5 W  P9 c5 y<option value =saab>saab</option>! Q. E7 L- i9 }7 R( ?7 L
<option value=opel>opel</option>0 f  w; @& S/ \( K9 _/ \$ A  K3 |
<option value=audi>audi</option>$ n8 r$ V6 z& X9 s+ J
</select>& F! F1 K* g. M$ M+ r8 k  s
其中,</option>标签可以省掉,在页面中用法
' F# N1 P- b! ^' A# @% C. V& }代码如下:7 H! Z4 h# w& \3 l, t
<select name=studycenter id=studycenter size=1>
5 e' W: m% b: r8 h& V2 k2 M; ~<option value=0>全部
" H$ x3 c; B+ x: S; W+ c7 n9 c4 a- A2 k<option value=1>湖北电大网络学习中心8 e( \$ G# g" a$ s! ^
<option value=2>成都师范学院网络学习中心2 s! a$ h! i8 D
<option value=3>武汉职业技术学院网络学习中心0 _- Y' G* W8 c! l/ e4 K+ n+ d
</select>5 ^. C8 k$ w! I: A2 Y; F
二、select元素还可以多选,看如下代码:
1 E! F# q# F( y- E/ q8 Y代码如下:
: F: f/ ?% x/ k: `
//有multiple属性,则可以多选
- H& m8 }& ~& k" O$ }! O/ R<select name= “education” id=”education” multiple=”multiple”>
! E) T) i( L% w, B<option value=”1”>高中</option>5 U. k2 k3 A7 W1 K8 H+ d" ]3 U7 {; C
<option value=”2”>大学</option>
! N' a9 I9 m: @" [- y! }<option value=”3”>博士</option>" X5 j% n! U9 Q+ C5 y
</select># a/ [) k/ O& X8 C: N. T
//下面没有multiple属性 , 只显示一条,不能多选( v5 Z" I" _5 m3 D8 g! h$ h4 U
<select name= “education” id=”education” >
# V8 {. }0 I! [. ]<option value=”1”>高中</option>* v4 I; I8 p4 g( M7 G; t4 m
<option value=”2”>大学</option>- b, G- y4 B; P9 m
<option value=”3”>博士</option>& j- J: V, Y+ a/ F8 W
</select>3 [6 f4 m( B( u$ N( z
//下面是设置了size属性的情况 , 如果size = 3 那么就显示三条数据,注意不能多选的。
7 N% E6 _# b6 }% h4 K8 E<select name=education id=education size='3'>. A- L% u: @7 r3 g: L& O+ C. I
<option value=0>小学</option>/ H' F) p9 O- k
<option value=1>初中</option># F% B8 w- L1 \0 Q. L. b5 o' V
<option value=2>高中</option>
! J$ W: u9 q8 e# g6 |<option value=3>中专</option>/ W' S; X1 X, ]0 `) f; O
<option value=4>大专</option>1 m! ~% z- Q5 a2 }$ a3 z
<option value=5>本科</option>
- p5 O: A& }# l# R, P<option value=6>研究生</option>
4 T8 x- @7 O9 x! V2 A# ^8 E; c% S- Y<option value=7>博士</option>
( w( h( O" i) L0 P- m6 ]<option value=8>博士后</option>
) |( H* e4 X5 n, o<option selected>请选择</option>
+ ?  Z4 }& I) U4 }- k" G3 S</select>2 r7 r" Y5 c3 B# D) \  z  F! p
三、多选select组件涉及的所有常用操作:
" O/ Q5 G5 Y  V4 K7 O- t' @( K# m) E1 H1. 判断select选项中是否存在指定值的item
2 x% Y. \5 A6 a$ X代码如下:# M+ i- t7 v# _7 `* Y# p" R3 O1 j
@param objselectid 将要验证的目标select组件的id0 Z8 X( c7 K7 T2 V' j3 G
@param objitemvalue 将要验证是否存在的值
0 Y: a- y3 \4 T* m6 u, c  |function isselectitemexit(objselectid,objitemvalue) {# c7 e6 V- [7 [0 L; [4 @6 y
var objselect = document.getelementbyid(objselectid);. b) o3 V# N; T, \% K' Q
var isexit = false;+ p- a3 o+ t% p0 \, j1 d
if (null != objselect && typeof(objselect) != undefined) {
: k0 b6 p0 ~, F5 \: C4 v' Dfor(var i=0;i<objselect.options.length;i++) {) \! G9 {! v- e
if(objselect.options.value == objitemvalue) {
! g0 N- p  `$ D: _0 Gisexit = true;
' Z# l! w" N' o$ w: _0 ?& Rbreak;
" ?1 s- `% l  `$ E* M: T}8 k! t  v9 X6 l% Y
}0 @, h3 f2 ]: A" a# D
}
2 D% \( }# a. o8 Areturn isexit;7 ]; p* e/ T  g5 I6 T1 H# j
}6 G* j4 a$ N# A
2.向select选项中加入一个item
: B5 `1 b% X2 g) J3 q+ Z7 y1 o代码如下:6 J# w2 L! {9 C: ?7 T% S7 q* r
@param objselectid 将要加入item的目标select组件的id
" i4 ]  F8 k7 ?3 _@param objitemtext 将要加入的item显示的内容! r6 g& k4 G" B# ~' C4 [5 N
@param objitemvalue 将要加入的item的值: U& s$ X" ~4 k* @* C, D9 M8 Y. v2 ^! C
function addoneitemtoselect(objselectid,objitemtext,objitemvalue) {
% y0 ?5 Z7 L3 G( }0 E; e8 h- z+ d1 Y+ Lvar objselect = document.getelementbyid(objselectid);9 H8 }* i" u' P. E
if (null != objselect && typeof(objselect) != undefined) {
/ _* q5 B, M1 }3 ^# f6 F//判断是否该值的item已经在select中存在
# }8 I: |' G3 N3 k3 nif(isselectitemexit(objselectid,objitemvalue)) {
' Y: l* [6 R) c- W3 D* D- p$.messager.alert('提示消息','该值的选项已经存在!','info');
# i, `7 a5 h9 f5 V} else {8 H/ `- J3 p/ }- i' z
var varitem = new option(objitemtext,objitemvalue);: f9 Q  F  B& u( ]1 I1 O# L: I
objselect.options.add(varitem);
. t9 n7 I3 p: N+ l, E' c" o0 c}- a+ u- s3 i* q& t8 M( k0 m
}( A" ~% K" ]% J% L
}
; c( N5 F1 @/ S9 ?' Y3.从select选项中删除选中的项,支持多选多删
& e" V4 }& \/ ]- p# D4 C: k代码如下:
$ \' m3 P/ ?6 u2 ^1 b9 W
@param objselectid 将要进行删除的目标select组件id
# t7 H5 ^+ a1 @4 \4 g* ^function removeselectitemsfromselect(objselectid) {8 C4 Z7 F+ R( v! |. Z
var objselect = document.getelementbyid(objselectid);
; S9 t0 z8 e# f" f8 Fvar delnum = 0;$ n+ m# Q; p& I* E8 h: k. p
if (null != objselect && typeof(objselect) != undefined) {
0 M5 i8 Y. d& l: Dfor(var i=0;i<objselect.options.length;i=i+1) {- Y' R/ X7 j6 T4 ^% r
if(objselect.options.selected) {
: E: ~' {0 p4 f+ kobjselect.options.remove(i);
% \. E- R; T, b3 udelnum = delnum + 1;
! l/ h6 E. X' c2 X- P* Q/ r% v  X& @: ^i = i - 1;) D: _- R$ m7 Y- f! g3 _, g4 ?' ~
}: g' k9 n3 Q# B1 C! k  W7 b% E
}
8 Q) R. y# |$ }8 p! ]8 Bif (delnum <= 0 ) {
% m' p; z5 I: G* M$.messager.alert('提示消息','请选择你要删除的选项!','info');  j7 d: y$ r% a+ q$ b1 t7 w
} else {- L* F2 Q5 `- x7 d1 u: R2 T5 M/ z
$.messager.alert('提示消息','成功删除了'+delnum+'个选项!','info');
9 O# v# N. m7 C3 n  f}
# ?+ Z" Z: G  k0 a* Y}0 M2 T4 w9 h) l- K7 C& z
}
% f' _* x" }& }; y' H4.从select选项中按指定的值删除一个item, }& V6 S" C: ~
代码如下:
% X* S" Z& y2 m& m
@param objselectid 将要验证的目标select组件的id
2 `8 K# k9 z" e$ z4 F( J0 t4 [@param objitemvalue 将要验证是否存在的值1 \+ |3 b7 |6 T( B, q& e
function removeitemfromselectbyitemvalue(objselectid,objitemvalue) {
4 h( d+ c+ }) avar objselect = document.getelementbyid(objselectid);
# b! K6 n! j1 D7 n7 _if (null != objselect && typeof(objselect) != undefined) {
' g0 ?# j4 H- \- a5 `8 Z* b//判断是否存在( W  X9 }- Z3 H) d
if(isselectitemexit(objselect,objitemvalue)) {
% @  o5 U# |4 jfor(var i=0;i<objselect.options.length;i++) {0 B2 s: C/ n* X* f1 i6 N2 |' s
if(objselect.options.value == objitemvalue) {2 o! b2 l5 ^+ D$ u+ Z5 _
objselect.options.remove(i);1 C( \: _9 ?, j! v2 K- t' w& ~  p7 O
break;
5 ?; R& Q# s& S. H}
1 Y" o' x% X; x2 n}" \* \* @5 A* o9 K  c9 Z
$.messager.alert('提示消息','成功删除!','info');
6 L. x" b0 }# p5 L5 P} else {/ Q& m$ W( B) z" Y
$.messager.alert('提示消息','不存在指定值的选项!','info');
! V/ S# r- a5 L5 z) a( o* s7 @}
, [  m7 Z7 e% V# M+ v}7 k2 u0 ~! S6 U
}
8 v8 R' u; r8 p* ?+ E: Q) n5 m: T5.清空select中的所有选项6 g: c  k$ _! j. `2 Z. c) }6 |2 I) z$ c
代码如下:
0 H8 K1 B, P9 a  o* x
@param objselectid 将要进行清空的目标select组件id' a: p5 V% d- S; U3 E4 G& B
function clearselect(objselectid) {
% L- J% c- f$ m. U7 @var objselect = document.getelementbyid(objselectid);) W! ]/ M& Y3 g7 n% |% k
if (null != objselect && typeof(objselect) != undefined) {% i0 X& m; P% K8 e
for(var i=0;i<objselect.options.length;) {9 a1 R6 C* y- s* Q$ A3 l
objselect.options.remove(i);5 p4 e1 d8 g. c, n
}8 {7 W9 X' D* J' [/ y
}' k" T! n. j( s( O8 x: S2 p/ B
}, k/ ?: G8 k1 ~
6. 获取select中的所有item,并且组装所有的值为一个字符串,值与值之间用逗号隔开, l, E% y7 {: S( @! a
代码如下:( f) v' L) }# w
@param objselectid 目标select组件id0 t! Q8 N2 ~- F2 c7 p. F/ Q
@return select中所有item的值,值与值之间用逗号隔开; E9 s0 k, X! a6 {: y
function getallitemvaluesbystring(objselectid) {( W1 i% `1 L1 T( C- s/ Q: i1 Y
var selectitemsvaluesstr = ;
, u( S/ t# R+ L+ Y6 g9 nvar objselect = document.getelementbyid(objselectid);- f, p& y+ E- S4 E( {. G
if (null != objselect && typeof(objselect) != undefined) {& A9 |" O3 ]9 f0 ~: p- ?4 G
var length = objselect.options.length) O6 u9 Y& @: E8 J1 m
for(var i = 0; i < length; i = i + 1) {
& ~. b. }) Z, N* d$ @5 ^if (0 == i) {
9 p' j+ t9 v! z) K+ w! e: iselectitemsvaluesstr = objselect.options.value;; u4 k# i0 h2 V$ ~; F9 Q
} else {
7 c, w. x6 i4 @4 P2 V, Y$ T' ^selectitemsvaluesstr = selectitemsvaluesstr + , + objselect.options.value;! v% G. ?  Y* Z" w5 B! B0 m$ C
}
6 e3 R6 `/ `) X}0 R, n/ U8 w7 i. Z8 ^
}3 ?8 j4 A/ ~) u% N$ a& N- i4 L
return selectitemsvaluesstr;
) s- T6 }2 [. {9 }7 N1 p}( X$ d% V8 j3 N. K4 w
7. 将一个select中的所有选中的选项移到另一个select中去
) ~# k/ u2 _1 }代码如下:
# a# M0 Z  e0 S9 [7 @
@param fromobjselectid 移动item的原select组件id) V% F5 T  e- M) v4 k
@param toobjectselectid 移动item将要进入的目标select组件id; T- t& k( P) q: ?/ W0 Q
function moveallselectedtoanotherselectobject(fromobjselectid, toobjectselectid) {
. C8 i' [# }6 X- ?) l8 }var objselect = document.getelementbyid(fromobjselectid);
8 G9 S5 N, z3 M6 O6 Tvar delnum = 0;9 _$ n7 w' L. J1 I2 s
if (null != objselect && typeof(objselect) != undefined) {  O0 f1 U; C7 l- D% c3 L" E( v" D
for(var i=0;i<objselect.options.length;i=i+1) {
3 z( s2 a6 ?, _9 Tif(objselect.options.selected) {
1 T+ l" G" k. Q8 j7 Iaddoneitemtoselect(toobjectselectid,objselect.options.text,objselect.options.value)
: Q; D. d4 X5 fobjselect.options.remove(i);4 j. {* E3 Y2 A5 `4 i# V, ?6 C9 u9 J
i = i - 1;+ @3 I$ P2 i. @8 [' q" h
}
2 h0 b  ?6 e; w% y; n% L}
' C$ x4 m" A7 P- s}
. T7 f3 B1 i" m% E' z) D* @}
- z" }3 z$ s( C- T9 h8. 将一个select中的所有选项移到另一个select中去
% W" m! \' A# C4 a% a代码如下:
* E# V+ V9 H6 \1 C1 U
@param fromobjselectid 移动item的原select组件id, L1 r& j  l; s, ~! N) k( B' w; N
@param toobjectselectid 移动item将要进入的目标select组件id
/ h* r9 }- t3 X: s) V3 J# Jfunction movealltoanotherselectobject(fromobjselectid, toobjectselectid) {
( M2 j5 z& a0 D5 j. y: lvar objselect = document.getelementbyid(fromobjselectid);$ W3 a, ?0 M# {1 W9 C' ~5 T
if (null != objselect) {
1 i1 ~; m3 w: @& O9 h8 n8 r* ]% Mfor(var i=0;i<objselect.options.length;i=i+1) {6 T" ]6 ]& X. s+ @3 [' q  z1 A  X
addoneitemtoselect(toobjectselectid,objselect.options.text,objselect.options.value)
  {0 {/ w& g! ]* Z) }- K3 Bobjselect.options.remove(i);: P0 z* N1 \5 ~; q. [
i = i - 1;
- M: V( D3 ~3 U6 ?0 l}
9 ~  e% s. y# G3 I) `& d}+ F0 N5 W: {3 i5 [) W. S$ L; T
}
( K8 D1 ?) s# X) t% p9 v' k' O' A( c; R$ i: |( e2 n
更多网页制作信息请查看: 网页制作

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