js操作select(添加、移除、获取select值),很实用。
如图:
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
<html>
<html>
<TITLE>选择下拉菜单</TITLE>
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=gb2312"
>
<META NAME=
"Description"
CONTENT=
"Power by hill"
>
</HEAD>
<body>
<p>选定一项或多项然后点击添加或移除(按住shift或ctrl可以多选),或在选择项上双击进行添加和移除。</p>
<form method=
"post"
name=
"myform"
>
<table border=
"0"
width=
"400"
>
<tr>
<td width=
"40%"
>
<select style=
"height:200px;WIDTH:300px"
multiple name=
"list1"
size=
"10"
ondblclick=
"moveOption(document.myform.list1, document.myform.list2)"
>
<!--用forEach遍历出所有的option-->
<option value=
"北京"
>北京</option>
<option value=
"上海"
>上海</option>
<option value=
"山东"
>山东</option>
<option value=
"安徽"
>安徽</option>
<option value=
"重庆"
>重庆</option>
<option value=
"福建"
>福建</option>
<option value=
"甘肃"
>甘肃</option>
<option value=
"广东"
>广东</option>
<option value=
"广西"
>广西</option>
<option value=
"贵州"
>贵州</option>
<option value=
"海南"
>海南</option>
<option value=
"河北"
>河北</option>
<option value=
"黑龙江"
>黑龙江</option>
</select>
</td>
<td width=
"20%"
align=
"center"
>
<input type=
"button"
value=
"全部添加"
onclick=
"moveAllOption(document.myform.list1, document.myform.list2)"
><br/>
<br/>
<input type=
"button"
value=
"添加"
onclick=
"moveOption(document.myform.list1, document.myform.list2)"
><br/>
<br/>
<input type=
"button"
value=
"移除"
onclick=
"moveOption(document.myform.list2, document.myform.list1)"
><br/>
<br/>
<input type=
"button"
value=
"全部移除"
onclick=
"moveAllOption(document.myform.list2, document.myform.list1)"
>
</td>
<td width=
"40%"
>
<select style=
"height:200px;WIDTH:300px"
multiple name=
"list2"
size=
"12"
ondblclick=
"moveOption(document.myform.list2, document.myform.list1)"
>
</select>
</td>
</tr>
</table>
值:<input type=
"text"
name=
"city"
size=
"40"
>
</form>
<script language=
"JavaScript"
>
<!--操作全部-->
function
moveAllOption(e1, e2){
var
fromObjOptions=e1.options;
for
(
var
i=0;i<fromObjOptions.length;i++){
fromObjOptions[0].selected=
true
;
e2.appendChild(fromObjOptions[i]);
i--;
}
document.myform.city.value=getvalue(document.myform.list2);
}
<!--操作单个-->
function
moveOption(e1, e2){
var
fromObjOptions=e1.options;
for
(
var
i=0;i<fromObjOptions.length;i++){
if
(fromObjOptions[i].selected){
e2.appendChild(fromObjOptions[i]);
i--;
}
}
document.myform.city.value=getvalue(document.myform.list2);
}
function
getvalue(geto){
var
allvalue =
""
;
for
(
var
i=0;i<geto.options.length;i++){
allvalue +=geto.options[i].value +
","
;
}
return
allvalue;
}
function
changepos1111(obj,index)
{
if
(index==-1){
if
(obj.selectedIndex>0){
obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex-1))
}
}
else
if
(index==1){
if
(obj.selectedIndex<obj.options.length-1){
obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex+1))
}
}
}
</script>
</body>
</html>
|
本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/1206791,如需转载请自行联系原作者