首页 > 代码库 > 在窗体中有两个多选列表,用户可以从左侧列表中选择任意项,添加到右侧列表中。反之亦然。

在窗体中有两个多选列表,用户可以从左侧列表中选择任意项,添加到右侧列表中。反之亦然。

<form name="myForm">
<table>
<tr valign="top">
<td>
<select name="leftList" multiple size="6" style="width:50px;">
<option>a</option>
<option>b</option>
<option>c</option>
</select>
</td>
<td>
<!-- 通过事件onclick调用JavaScript的moveList函数 -->
<input type="button" name="to" value="http://www.mamicode.com/>>" onclick="moveList(‘leftList‘,‘rightList‘)"><p>
<input type="button" name="backTo" value="http://www.mamicode.com/<<" onclick="moveList(‘rightList‘,‘leftList‘)"><p>
</td>
<td>
<select name="rightList" multiple size="6" style="width: 50px;">
<option>d</option>
<option>e</option>

<option>f</option>
</select>
</td>
</tr>
</table>
</form>

 

<script language="JavaScript"> 
// moveList用于对两个多选列表进行选项的移动操作
// from为"需要移动"的列表名称,to为"移动到"列表名称
function moveList(from,to) { 
var fromList = document.myForm.elements[from];
var fromLen = fromList.options.length;

var toList = document.myForm.elements[to];
var toLen = toList.options.length;

// current 为"需要移动"列表中的当前选项序号
var current = fromList.selectedIndex;
// 如果"需要移动"列表中有选择项,则进行移动操作
while (current>-1) {
// o为"需要移动"列表中当前选择项对象
var o = fromList.options[current];
var t = o.text;
var v = o.value;
// 根据已选项新建一个列表选项
var optionName = new Option(t, v, false, false);
// 将该选项添加到"移动到"列表中
toList.options[toLen]= optionName;
toLen++;
// 将该选项从"需要移动"列表中清除
fromList.options[current]=null;

current = fromList.selectedIndex;
}
}

</script>

 

 

程序说明:

//HTML DOM selectedIndex 属性

HTML DOM Select 对象

定义和用法

selectedIndex 属性可设置或返回下拉列表中被选选项的索引号。

注释:若允许多重选择,则仅会返回第一个被选选项的索引号。

语法

selectObject.selectedIndex=number

在窗体中有两个多选列表,用户可以从左侧列表中选择任意项,添加到右侧列表中。反之亦然。