使用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 相关文章推荐
借助script进行Http跨域请求:JSONP实现原理及代码
Mar 19 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
Jul 02 Javascript
jQuery中each()方法用法实例
Dec 27 Javascript
分享几种比较简单实用的JavaScript tabel切换
Dec 31 Javascript
AngularJS directive返回对象属性详解
Mar 28 Javascript
javascript 单例模式详解及简单实例
Feb 14 Javascript
深入理解React高阶组件
Sep 28 Javascript
echarts学习笔记之图表自适应问题详解
Nov 22 Javascript
Iview Table组件中各种组件扩展的使用
Oct 20 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
Feb 21 Javascript
详解Vue源码中一些util函数
Apr 24 Javascript
详解vue 路由跳转四种方式 (带参数)
Apr 28 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
php中判断文件空目录是否有读写权限的函数代码
2012/08/07 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
JS是按值传递还是按引用传递
2015/01/30 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
jQueryUI中的datepicker使用方法详解
2016/05/25 Javascript
JavaScript判断数字是否为质数的方法汇总
2016/06/02 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
vue中rem的配置的方法示例
2018/08/30 Javascript
小程序获取周围IBeacon设备的方法
2018/10/31 Javascript
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
[47:50]Secret vs VP 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python异常处理操作实例详解
2018/05/10 Python
Python实现的网页截图功能【PyQt4与selenium组件】
2018/07/12 Python
python判断一个数是否能被另一个整数整除的实例
2018/12/12 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
python re模块常见用法例举
2021/03/01 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
公司出纳岗位职责
2013/12/07 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
浅析python中特殊文件和特殊函数
2022/02/24 Python
Github 使用python对copilot做些简单使用测试
2022/04/14 Python