前端简单入门第十五讲 使用JavaScript控制下拉列表的左右选择
在我们的分类管理页面中,我们要能够去修改我们的分类信息。当我们一点修改的时候,跳转到一个可以编辑的页面,这里面能够修改分类的名称、分类的描述、以及分类的商品。在修改分类商品时,可以使用JavaScript来控制下拉列表的左右选择,效果类似如下:
案例代码实现
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--
步骤分析:
1.确定事件(onclick点击事件)
2.事件要触发函数(selectOne)
3.selectOne函数要做一些操作:将左边选中的元素移动到右边的select中
3.1 获取左边select中被选中的元素
3.2 将选中的元素添加到右边的select中
-->
<script>
function selectOne() {
//获取左边select中被选中的元素
var leftSelect = document.getElementById("leftSelect");
var options = leftSelect.options;
//找到右侧的select
var rightSelect = document.getElementById("rightSelect");
//遍历找出被选中的option
for (var i = 0; i < options.length; i++) {
var option1 = options[i];
if (option1.selected) {
//将选中的元素添加到右边的select中
rightSelect.appendChild(option1);
}
}
}
//将左边所有的商品移动到右边
function selectAll() {
//获取左边select中被选中的元素
var leftSelect = document.getElementById("leftSelect");
var options = leftSelect.options;
//找到右侧的select
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>锤子</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>苹果8</option>
<option>肾7</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>