使用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 相关文章推荐
使用js解决由border属性引起的div宽度问题
Nov 26 Javascript
javascript移出节点removeChild()使用介绍
Apr 03 Javascript
Node.js 异步编程之 Callback介绍(一)
Mar 30 Javascript
使用javaScript动态加载Js文件和Css文件
Oct 24 Javascript
javascript实现简单的全选和反选功能
Jan 05 Javascript
理解javascript函数式编程中的闭包(closure)
Mar 08 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
Apr 14 Javascript
第三篇Bootstrap网格基础
Jun 21 Javascript
基于Vue实现后台系统权限控制的示例代码
Aug 29 Javascript
简述vue路由打开一个新的窗口的方法
Nov 29 Javascript
vue element动态渲染、移除表单并添加验证的实现
Jan 16 Javascript
vue实现图片上传预览功能
Dec 23 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
php设计模式  Command(命令模式)
2011/06/17 PHP
利用PHP实现短域名互转
2013/07/05 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
JavaScript中的类与实例实现方法
2015/01/23 Javascript
JavaScript函数内部属性和函数方法实例详解
2016/03/17 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
vue小图标favicon不显示的解决方案
2017/09/19 Javascript
Angular2进阶之如何避免Dom误区
2018/04/02 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
2018/07/26 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
Vue项目中使用WebUploader实现文件上传的方法
2019/07/21 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
Python 25行代码实现的RSA算法详解
2018/04/10 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
研究生自我鉴定范文
2013/10/30 职场文书
管理学专业个人求职信范文
2013/12/13 职场文书
财务主管岗位职责
2014/02/28 职场文书
2014学雷锋活动总结
2014/03/09 职场文书
总经理任命书
2014/03/29 职场文书
作风建设演讲稿
2014/05/23 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
2014年检验科工作总结
2014/11/22 职场文书
安全生产培训心得体会
2016/01/18 职场文书
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs
基于Python编写简易版的天天跑酷游戏的示例代码
2022/03/23 Python