今天用JavaScript 的 DOM 节点的知识实现左右选择的下拉菜单效果,其中实现了两个不同的下拉菜单设置size后,显示成一块区域
,选择要移动的内容 点击移动方向则移动到另一区域,移动过程中,一方减去选中项,一方增加选中项,代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript">
function moveRight(){
//var num=1;
//获取左边select
var se1=document.getElementById("se1");
//获取左边option
var op1=se1.getElementsByTagName("option");
for(var i=0;i<=op1.length-1;i++){
if(op1[i].selected){
//alert(op1[i].firstChild.nodeValue);
//获取右边select
var se2=document.getElementById("se2");
//获取右边option
var op2=se2.getElementsByTagName("option");
//创建一个option标签(节点)
var option=document.createElement("option");
//获取左边选中的option的子节点的值
var text=document.createTextNode(op1[i].firstChild.nodeValue);
//将获取的值追加到元素节点中
option.appendChild(text);
//将option追加到select
se2.appendChild(option);
//将左边选中的option的子节点的值删除
se1.removeChild(op1[i]);
}
}
}
function moveLeft(){
//获取右边select
var se2=document.getElementById("se2");
//获取右边option
var op2=se2.getElementsByTagName("option");
for(var i=0;i<=op2.length-1;i++){
if(op2[i].selected){
//alert(op1[i].firstChild.nodeValue);
//获取左边select
var se1=document.getElementById("se1");
//获取左边option
var op1=se1.getElementsByTagName("option");
//创建一个option标签(节点)
var option=document.createElement("option");
//获取右边选中的option的子节点的值
var text=document.createTextNode(op2[i].firstChild.nodeValue);
//将获取的值追加到元素节点中
option.appendChild(text);
//将option追加到select
se1.appendChild(option);
//将右边选中的option的子节点的值删除
se2.removeChild(op2[i]);
}
}
}
</script>
</head>
<body>
<table border="0" width="300px" height="200px">
<tr>
<td rowspan="2" align="right">
<select id="se1" multiple="multiple" size="8">
<option>111</option>
<option>222</option>
<option>333</option>
<option>444</option>
<option>555</option>
<option>666</option>
<option>777</option>
<option>888</option>
</select>
</td>
<td align="center" valign="bottom">
<input type="button" value=">>" οnclick="moveRight()" />
</td>
<td rowspan="2" align="left">
<select id="se2" multiple="multiple" size="8">
</select>
</td>
</tr>
<tr>
<td align="center" valign="top">
<input type="button" value="<<" οnclick="moveLeft()" />
</td>
</tr>
</table>
</body>
</html>
虽然页面很简单,但是上述的功能还是实现了,JavaScript太有爱了!!!