使用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获取textarea中的光标位置
May 06 Javascript
SWFObject Flash js调用类
Jul 08 Javascript
仅用[]()+!等符号就足以实现几乎任意Javascript代码
Mar 01 Javascript
javascript判断数组内是否重复的方法
Apr 21 Javascript
APP中javascript+css3实现下拉刷新效果
Jan 27 Javascript
基于AngularJS+HTML+Groovy实现登录功能
Feb 17 Javascript
多种jQuery绑定事件的实现方式
Jun 13 Javascript
JS实现将数字金额转换为大写人民币汉字的方法
Aug 02 Javascript
微信小程序  modal详解及实例代码
Nov 09 Javascript
js前端实现图片懒加载(lazyload)的两种方式
Apr 24 Javascript
vue-cli构建vue项目的步骤详解
Jan 27 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
Apr 24 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保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
Vue中的Props(不可变状态)
2018/09/29 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
PyQt5实现拖放功能
2018/04/25 Python
使用matplotlib画散点图的方法
2018/05/25 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
Python跳出多重循环的方法示例
2019/07/03 Python
如何用Python做一个微信机器人自动拉群
2019/07/03 Python
python logging设置level失败的解决方法
2020/02/19 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
python Matplotlib数据可视化(1):简单入门
2020/09/30 Python
世界领先的高品质定制产品平台:Zazzle
2017/07/23 全球购物
台湾网友喜爱的综合型网路购物商城:Yahoo! 奇摩购物中心
2018/03/10 全球购物
eBay奥地利站:eBay.at
2019/07/24 全球购物
《中华少年》教学反思
2014/02/15 职场文书
先进事迹报告会主持词
2014/04/02 职场文书
股份合作协议书
2014/04/12 职场文书
伦敦奥运会口号
2014/06/13 职场文书
公司年终奖分配方案
2014/06/16 职场文书
确保工程质量承诺书
2015/04/29 职场文书
《山中访友》教学反思
2016/02/24 职场文书
思想品德课教学反思
2016/02/24 职场文书
pytorch 如何使用batch训练lstm网络
2021/05/28 Python
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技