jquery制作select列表双向选择
做项目的时候要用到的一个小功能,以前做过的,用的纯JS,今天翻出来看发现只能在IE中运行的,自己改成jquery的了,该功能很常见,不过一直不知道他的学名叫什么,所以也就随便起个了,大家看下面的图都应该知道了:


下面是整个网站的HTML代码,用的时候记得导入jquery就行了。
<!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=">" class="btn" onclick="Add($('#dltSource'),$('#dltTarget'))" />
<input type="button" value=">>" class="btn" onclick="AddAll($('#dltSource'),$('#dltTarget'))" />
<input type="button" value="<" class="btn" onclick="Add($('#dltTarget'),$('#dltSource'))" />
<input type="button" value="<<" 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>
<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=">" class="btn" onclick="Add($('#dltSource'),$('#dltTarget'))" />
<input type="button" value=">>" class="btn" onclick="AddAll($('#dltSource'),$('#dltTarget'))" />
<input type="button" value="<" class="btn" onclick="Add($('#dltTarget'),$('#dltSource'))" />
<input type="button" value="<<" 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>
撸码:复制、粘贴,拿起键盘就是“干”!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2009-06-15 求一整数的所有拆分方式