JavaScript实现下拉列表框数据增加、删除、上下排序的方法


Posted in Javascript onAugust 11, 2015

本文实例讲述了JavaScript实现下拉列表框数据增加、删除、上下排序的方法。分享给大家供大家参考。具体如下:

这里实现在一个支持多选的下拉列表框内进行数据项的添加、删除、向上、向下移动操作,我们在一些人才网站或是编程技术站经常会看到这种功能,比较实用。

运行效果截图如下:

JavaScript实现下拉列表框数据增加、删除、上下排序的方法

具体代码如下:

<title>下拉列表数据上下排序</title>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function move(fbox,tbox) {
var i = 0;
if(fbox.value != "") {
var no = new Option();
no.value = fbox.value;
no.text = fbox.value;
tbox.options[tbox.options.length] = no;
fbox.value = "";
  }
}
function remove(box) {
for(var i=0; i<box.options.length; i++) {
if(box.options[i].selected && box.options[i] != "") {
box.options[i].value = "";
box.options[i].text = "";
  }
}
BumpUp(box);
} 
function BumpUp(abox) {
for(var i = 0; i < abox.options.length; i++) {
if(abox.options[i].value == "") {
for(var j = i; j < abox.options.length - 1; j++) {
abox.options[j].value = abox.options[j + 1].value;
abox.options[j].text = abox.options[j + 1].text;
}
var ln = i;
break;
  }
}
if(ln < abox.options.length) {
abox.options.length -= 1;
BumpUp(abox);
  }
}
function Moveup(dbox) {
for(var i = 0; i < dbox.options.length; i++) {
if (dbox.options[i].selected && dbox.options[i] != "" && dbox.options[i] != dbox.options[0]) {
var tmpval = dbox.options[i].value;
var tmpval2 = dbox.options[i].text;
dbox.options[i].value = dbox.options[i - 1].value;
dbox.options[i].text = dbox.options[i - 1].text
dbox.options[i-1].value = tmpval;
dbox.options[i-1].text = tmpval2;
   }
  }
}
function Movedown(ebox) {
for(var i = 0; i < ebox.options.length; i++) {
if (ebox.options[i].selected && ebox.options[i] != "" && ebox.options[i+1] != ebox.options[ebox.options.length]) {
var tmpval = ebox.options[i].value;
var tmpval2 = ebox.options[i].text;
ebox.options[i].value = ebox.options[i+1].value;
ebox.options[i].text = ebox.options[i+1].text
ebox.options[i+1].value = tmpval;
ebox.options[i+1].text = tmpval2;
   }
  }
}
// End -->
</script>
<form ACTION="" METHOD="POST">
<table>
<tr>
<td>
<input type="button" value="增加" onclick="move(this.form.list1,this.form.list2)" name="B1"><br>
<input type="button" value="删除" onclick="remove(this.form.list2)" name="B2"><br>
<input type="button" value="向上" onclick="Moveup(this.form.list2)" name="B3"><br>
<input type="button" value="向下" onclick="Movedown(this.form.list2)" name="B4">
</td>
<td>
<select multiple size=7 name="list2">
<option value="one">ASP</option>
<option value="two">PHP</option>
<option value="three">ASP.NET</option>
<option value="four">JAVA</option>
<option value="five">DELPHI</option>
</select>
</td>
</tr>
<tr>
<td>
<input type="text" name="list1" value="">
</td></tr>
</table>
</form>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
js string 转 int 注意的问题小结
Aug 15 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
Jan 02 Javascript
判断访客终端类型集锦
Jun 05 Javascript
FullCalendar日历插件应用之数据展现(一)
Dec 23 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
May 13 Javascript
JS控制TreeView的结点选择
Nov 11 Javascript
javascript入门之string对象【新手必看】
Nov 22 Javascript
JS中touchstart事件与click事件冲突的解决方法
Mar 12 Javascript
在react中使用vuex的示例代码
Jul 30 Javascript
Vue框架下引入ActiveX控件的问题解决
Mar 25 Javascript
Javascript模拟实现new原理解析
Mar 03 Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
Aug 12 Javascript
iframe跨域通信封装详解
Aug 11 #Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
Aug 11 #Javascript
JS+CSS实现美化的下拉列表框效果
Aug 11 #Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
Aug 11 #Javascript
JavaScript设置表单上传时文件个数的方法
Aug 11 #Javascript
js限制文本框只能输入中文的方法
Aug 11 #Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
Aug 11 #Javascript
You might like
PHP 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
php二维数组转成字符串示例
2014/02/17 PHP
php header函数的常用http头设置
2015/06/25 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
Laravel框架下载,安装及路由操作图文详解
2019/12/04 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
基于jQuery的公告无限循环滚动实现代码
2012/05/11 Javascript
Android中的jQuery:AQuery简介
2014/05/06 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
利用JS hash制作单页Web应用的方法详解
2017/10/10 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
2020/09/16 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python中pycurl库的用法实例
2014/09/30 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
python发送邮件功能实现代码
2016/07/15 Python
利用Python批量生成任意尺寸的图片
2016/08/29 Python
Python 记录日志的灵活性和可配置性介绍
2018/02/27 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
一款利用html5和css3实现的3D滚动特效的教程
2015/01/04 HTML / CSS
乐高官方旗舰店:LEGO积木玩具
2019/04/06 全球购物
小学生放飞梦想演讲稿
2014/08/26 职场文书
党员批评与自我批评发言稿
2014/10/14 职场文书
学校政风行风整改方案
2014/10/25 职场文书
教导主任个人总结
2015/03/03 职场文书
python中redis包操作数据库的教程
2022/04/19 Python