使用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 相关文章推荐
扩展IE中一些不兼容的方法如contains、startWith等等
Jan 09 Javascript
jquery获取html元素的绝对位置和相对位置的方法
Jun 20 Javascript
值得分享的轻量级Bootstrap Table表格插件
May 30 Javascript
一次$.getJSON不执行的简单记录
Jul 19 Javascript
Bootstrap CSS布局之列表
Dec 15 Javascript
ES6(ECMAScript 6)新特性之模板字符串用法分析
Apr 01 Javascript
原生JavaScrpit中异步请求Ajax实现方法
Nov 03 Javascript
JS中精巧的自动柯里化实现方法
Dec 12 Javascript
Angular 数据请求的实现方法
May 07 Javascript
使用weixin-java-miniapp配置进行单个小程序的配置详解
Mar 29 Javascript
vue中img src 动态加载本地json的图片路径写法
Apr 25 Javascript
Node.js API详解之 dns模块用法实例分析
May 15 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动态图像的创建
2006/10/09 PHP
桌面中心(三)修改数据库
2006/10/09 PHP
投票管理程序
2006/10/09 PHP
谈谈新手如何学习PHP
2006/12/14 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
PHP正则匹配反斜杠'\'和美元'$'的方法
2017/02/08 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
document.compatMode介绍
2009/05/21 Javascript
JS 实现双色表格实现代码
2009/11/24 Javascript
js删除所有的cookie的代码
2010/11/25 Javascript
javascript实现TreeView 无刷新展开的实例代码
2013/07/13 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
JavaScript面对国际化编程时的一些建议
2015/06/24 Javascript
js中substring和substr两者区别和使用方法
2015/11/09 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
JS Input里添加小图标的两种方法
2017/11/11 Javascript
[03:03]2014DOTA2国际邀请赛 EG战队专访
2014/07/12 DOTA
Python判断变量是否已经定义的方法
2014/08/18 Python
深入理解Django的自定义过滤器
2017/10/17 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
python opencv设置摄像头分辨率以及各个参数的方法
2018/04/02 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
手机使用python操作图片文件(pydroid3)过程详解
2019/09/25 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
使用CSS3来绘制一个月食图案
2015/07/18 HTML / CSS
医学专业五年以上个人求职信
2013/12/03 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
销售员自我评价
2015/03/11 职场文书
国富论读书笔记
2015/06/26 职场文书
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
Django框架之路由用法
2022/06/10 Python