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 相关文章推荐
经常用的图片在容器中的水平垂直居中实例
Jun 10 Javascript
JSDoc 介绍使用规范JsDoc的使用介绍
Feb 12 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
Dec 28 Javascript
JQuery给网页更换皮肤的方法
May 30 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
Apr 29 Javascript
AngularJs ng-change事件/指令的用法小结
Nov 01 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
May 03 jQuery
vue左右侧联动滚动的实现代码
Jun 06 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
Oct 22 Javascript
Nuxt.js 数据双向绑定的实现
Feb 17 Javascript
vue实现员工信息录入功能
Jun 11 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
Aug 03 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数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
php 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
php实现比较两个字符串日期大小的方法
2015/05/12 PHP
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
javascript 数组学习资料收集
2010/04/11 Javascript
javascript 获取页面的高度及滚动条的位置的代码
2010/05/06 Javascript
jquery实现心算练习代码
2010/12/06 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
谈谈node.js中的模块系统
2020/09/01 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
wxPython 入门教程
2008/10/07 Python
Python中用于返回绝对值的abs()方法
2015/05/14 Python
Python计算三角函数之asin()方法的使用
2015/05/15 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
Python在cmd上打印彩色文字实现过程详解
2019/08/07 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
报关员个人职业生涯规划书
2014/03/12 职场文书
公司晚会策划方案
2014/05/17 职场文书
经管应届生求职信范文
2014/05/18 职场文书
行政求职信
2014/07/04 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
2015政治思想表现评语
2015/03/25 职场文书
调解书格式范本
2015/05/20 职场文书
JavaScript实现优先级队列
2021/12/06 Javascript