使用Javascript实现选择下拉菜单互移并排序


Posted in Javascript onFebruary 23, 2016

本文给大家介绍使用js实现下拉菜单可选择互相移动并实现菜单排序,代码简单易懂,具有参考价值,先给大家展示下效果图,感觉还很满意请参考本段代码。

使用Javascript实现选择下拉菜单互移并排序

代码如下:

<html>
<head>
<title>使用Javascript实现选择下拉菜单互移并排序</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<p>选定一项或多项然后点击添加或移除(按住shift或ctrl可以多选),或在选择项上双击进行添加和移除。</p>
<form method="post" name="myform">
<table border="0" width="300">
<tr>
<td width="40%">
<select style="width:100px; height:200px" multiple name="list1" size="12" ondblclick="moveOption(document.myform.list1, document.myform.list2)">
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="山东">山东</option>
<option value="安徽">安徽</option>
<option value="重庆">重庆</option>
<option value="福建">福建</option>
<option value="甘肃">甘肃</option>
<option value="广东">广东</option>
<option value="广西">广西</option>
<option value="贵州">贵州</option>
<option value="海南">海南</option>
<option value="河北">河北</option>
<option value="黑龙江">黑龙江</option>
<option value="河南">河南</option>
<option value="湖北">湖北</option>
<option value="湖南">湖南</option>
<option value="内蒙古">内蒙古</option>
<option value="江苏">江苏</option>
<option value="江西">江西</option>
<option value="吉林">吉林</option>
<option value="辽宁">辽宁</option>
<option value="宁夏">宁夏</option>
<option value="青海">青海</option>
<option value="山西">山西</option>
<option value="陕西">陕西</option>
<option value="四川">四川</option>
<option value="天津">天津</option>
<option value="西藏">西藏</option>
<option value="新疆">新疆</option>
<option value="云南">云南</option>
<option value="浙江">浙江</option>
<option value="香港">香港</option>
<option value="澳门">澳门</option>
<option value="台湾">台湾</option>
<option value="其他">其他</option>
</select>
</td>
<td width="20%" align="center">
<input type="button" value=">>" onclick="moveOption(document.myform.list1, document.myform.list2)"><br />
<br />
<input type="button" value="<<" onclick="moveOption(document.myform.list2, document.myform.list1)">
</td>
<td width="40%">
<select style="width:100px; height:200px" multiple name="list2" size="12" ondblclick="moveOption(document.myform.list2, document.myform.list1)">
</select>
</td>
<td>
<button onclick="changepos(list2,-1)" type="button">
∧</button>
<br />
<button onclick="changepos(list2,1)" type="button">
∨</button>
</td>
</tr>
</table>
值:<input type="text" name="city" size="40">
</form>
<script language="JavaScript"> 
function moveOption(e1, e2) {
try {
for (var i = 0; i < e1.options.length; i++) {
var e = e1.options[i];
if (e1.options[i].selected&& OptionExists(e2, e.value)) {
e2.options.add(new Option(e.text, e.value));
e1.remove(i);
i = i - 1
}
}
document.myform.city.value = getvalue(document.myform.list2);
}
catch (e) { }
}
function getvalue(geto) {
var allvalue = "";
for (var i = 0; i < geto.options.length; i++) {
allvalue += geto.options[i].value + ",";
}
return allvalue;
}
function changepos(obj, index) {
if (index == -1) {
if (obj.selectedIndex > 0) {
obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex - 1))
}
}
else if (index == 1) {
if (obj.selectedIndex < obj.options.length - 1) {
obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex + 1))
}
}
} 
//查询是否已经存在
function OptionExists(list, optValue) {
var find = true;
for (i = 0; i < list.options.length; i++) {
if (list.options[i].value == optValue) {
find = false;
break;
}
}
return find;
}
</script>
</body>
</html>

关于以上代码实现使用Javascript实现选择下拉菜单互移并排序的相关内容大家还很满意吧,代码有问题欢迎提出,我会及时和大家取得联系的!

Javascript 相关文章推荐
Javascript的IE和Firefox兼容性汇编
Jul 01 Javascript
jQuery常见开发技巧详细整理
Jan 02 Javascript
JQuery中$(document)是什么意思有什么作用
Jul 21 Javascript
在JavaScript中重写jQuery对象的方法实例教程
Aug 25 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
Dec 18 Javascript
浅谈Vue2.0父子组件间事件派发机制
Jan 08 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
Apr 23 Javascript
animate.css在vue项目中的使用教程
Aug 05 Javascript
element-ui 上传图片后清空图片显示的实例
Sep 04 Javascript
详解vue更改头像功能实现
Apr 28 Javascript
layui自己添加图片按钮并点击跳转页面的例子
Sep 14 Javascript
微信小程序复选框实现多选一功能过程解析
Feb 14 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
Feb 23 #Javascript
JavaScript tab选项卡插件实例代码
Feb 23 #Javascript
Javascript技术栈中的四种依赖注入详解
Feb 23 #Javascript
JQuery+EasyUI轻松实现步骤条效果
Feb 22 #Javascript
全面解析Bootstrap布局组件应用
Feb 22 #Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
Feb 22 #Javascript
JavaScript function函数种类详解
Feb 22 #Javascript
You might like
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
jQuery中的height innerHeight outerHeight区别示例介绍
2014/06/15 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
AngularJS表单基本操作
2017/01/09 Javascript
Bootstrap笔记之缩略图、警告框实例详解
2017/03/09 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
浅谈JavaScript面向对象--继承
2019/03/20 Javascript
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
简单了解常用的JavaScript 库
2020/07/16 Javascript
[17:36]VG战队纪录片
2014/08/21 DOTA
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
理解python正则表达式
2016/01/15 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
解析Python3中的Import
2019/10/13 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
酒店管理专业毕业生推荐信
2013/11/10 职场文书
项目投资建议书
2014/05/16 职场文书
2014年客房部工作总结
2014/11/22 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
工作报告范文
2019/06/20 职场文书
详解nginx.conf 中 root 目录设置问题
2021/04/01 Servers
浅析NIO系列之TCP
2021/06/15 Java/Android
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers