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 相关文章推荐
jQuery focus和blur事件的应用详解
Jan 26 Javascript
javascript中html字符串转化为jquery dom对象的方法
Aug 27 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
Oct 23 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
Dec 02 Javascript
JQuery Ajax WebService传递参数的简单实例
Nov 02 Javascript
js实现界面向原生界面发消息并跳转功能
Nov 22 Javascript
浅谈JavaScript的函数及作用域
Dec 30 Javascript
分享十三个最佳JavaScript数据网格库
Apr 07 Javascript
vue proxyTable 接口跨域请求调试的示例
Sep 12 Javascript
微信小程序实现列表下拉刷新上拉加载
Jul 29 Javascript
小程序接口的promise化的实现方法
Dec 11 Javascript
JS数组属性去重并校验重复数据
Jan 10 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
基于mysql的bbs设计(五)
2006/10/09 PHP
PHP操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
基于php split()函数的用法详解
2013/06/05 PHP
PHP读书笔记_运算符详解
2016/07/01 PHP
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
2014/06/09 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
2016/05/17 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
JavaScript如何获取到导航条中HTTP信息
2017/10/10 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
Vue路由切换时的左滑和右滑效果示例
2018/05/29 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
python列表操作之extend和append的区别实例分析
2015/07/28 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
python实现一个函数版的名片管理系统过程解析
2019/08/27 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
关于tf.matmul() 和tf.multiply() 的区别说明
2020/06/18 Python
树莓派升级python的具体步骤
2020/07/05 Python
Python 列表反转显示的四种方法
2020/11/16 Python
python 实现超级玛丽游戏
2020/11/25 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
法国时尚童装网站:Melijoe
2016/08/10 全球购物
美国摄影爱好者购物网站:Focus Camera
2016/10/21 全球购物
农民工创业典型事迹
2014/01/25 职场文书
事业单位人员的自我评价范文
2014/09/21 职场文书
2015年环境监察工作总结
2015/07/23 职场文书
会计入职心得体会
2016/01/22 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
OpenCV-Python实现人脸磨皮算法
2021/06/07 Python