select列表双向选择

本文介绍了一个使用HTML和JavaScript实现的双向选择列表功能。通过两个下拉列表框展示选项,并允许用户将选项从一个列表移至另一个列表。适用于需要进行选项筛选和转移的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ContractedBlock.gifExpandedBlockStart.gif代码
<!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>
<title>select列表双向选择</title>
<style type="text/css">
select
{
width:
100%;
height: 160px;
}
div
{
float: left;
}
#div1, #div3
{
width: 150px;
}
#div2
{
width: 120px;
}
.btn
{
display: block;
margin: 10px auto;
width: 80px;
}
</style>
</head>
<body>
<div id="div1">
<select id="dltSource" name="dltSource" size="10" multiple="multiple">
<option value="苹果">苹果</option>
<option value="雪梨">雪梨</option>
<option value="西瓜">西瓜</option>
<option value="荔枝">荔枝</option>
<option value="龙眼">龙眼</option>
<option value="香蕉">香蕉</option>
</select>
</div>
<div id="div2">
<input type="button" value="&gt;" class="btn" onclick="Add($('#dltSource'),$('#dltTarget'))" />
<input type="button" value="&gt;&gt;" class="btn" onclick="AddAll($('#dltSource'),$('#dltTarget'))" />
<input type="button" value="&lt;" class="btn" onclick="Add($('#dltTarget'),$('#dltSource'))" />
<input type="button" value="&lt;&lt;" class="btn" onclick="AddAll($('#dltTarget'),$('#dltSource'))" />
</div>
<div id="div3">
<select id="dltTarget" name="dltTarget" size="10" multiple="multiple">
</select>
</div>
</body>
</html>


<script src="js/jquery.js" type="text/javascript"></script>


<script type="text/javascript">
/* 添加选择的项 */
function Add(ObjSource, ObjTarget) {
if(ObjSource.val() ==null) return; // 如果没有选择则退出函数,无这句话的话IE6会报错
$.each(ObjSource.val(), function(i, n) { // 循环原列表中选中的值,依次添加到目标列表中
var html = "<option value='" + n + "'>" + n + "</option>";
ObjTarget.append(html);
});
ObjSource.find(
"option:selected").remove(); // 原列表中选中的值删除
}
/* 添加全部 */
function AddAll(ObjSource, ObjTarget) {
ObjTarget.append(ObjSource.html());
// 目标列表的HTML加上原列表的所有HTML
ObjSource.empty(); // 原列表清空
}
</script>

 

转载于:https://www.cnblogs.com/chenindex/archive/2010/08/20/1804187.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值