代码实现
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<!--
步骤分析
1.确定事件:点击事件onclick事件
2.事件要触发函数selectOne
3.selectOne要做一些操作
(将左边选中的元素移动到右边的select中)
1.获取左边Select中被选中的元素
2.将选中的元素添加到右边的Select中就可以
-->
<script>
function selectOne(){
//1.获取左边Select中被选中的元素
var leftSelect = document.getElementById("leftSelect");
var options = leftSelect.options;
var rightSelect = document.getElementById("rightSelect");
//遍历找出被选中的option
for(var i=0;i < options.length;i++){
var option1 = options[i];
if(option1.selected){
rightSelect.appendChild(option1);
}
}
//2.将选中的元素添加到右边的Select中就可以
}
function selectAll(){
var leftSelect = document.getElementById("leftSelect");
var options = leftSelect.options;
var rightSelect = document.getElementById("rightSelect");
//遍历找出被选中的option
for(var i=options.length-1;i >=0 ;i--){
var option1 = options[i];
rightSelect.appendChild(option1);
}
}
</script>
</head>
<body>
<table border="1px" width="400px">
<tr>
<td>分类名称</td>
<td><input type="text" value="手机数码" /></td>
</tr>
<tr>
<td>分类描述</td>
<td><input type="text" value="这里面都是手机数码" /></td>
</tr>
<tr>
<td>分类商品</td>
<td>
<!--左边-->
<div style="float:left;">
已有商品<br />
<select multiple="multiple" id="leftSelect" ondblclick="selectOne()">
<option>华为</option>
<option>小米</option>
<option>vivo</option>
<option>OPPO</option>
</select>
<br />
<a href="#" onclick="selectOne()"> > ></a><br />相当于大于号
<a href="#" onclick="selectAll()"> > >></a>
</div>
<!--右边-->
<div style="float:right;">
未有商品<br />
<select multiple="multiple" id="rightSelect">
<option>苹果</option>
<option>诺基亚</option>
<option>三星</option>
<option>联想</option>
</select>
<br />
<a href="#"> < <</a><br />//相当于小于号
<a href="#"><<<</a>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交" />
</td>
</tr>
</table>
</body>
</html>
运行结果如图:
这个代码只实现了左边的单击全选的效果,右边的代码可以仿照左边的写。