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 相关文章推荐
Javascript的构造函数和constructor属性
Jan 09 Javascript
JS实现下拉框的动态添加(附效果)
Apr 03 Javascript
jquery text(),val(),html()方法区别总结
Nov 04 Javascript
用JQuery实现全选与取消的两种简单方法
Feb 22 Javascript
jquery如何把数组变为字符串传到服务端并处理
Apr 30 Javascript
JavaScript中的style.cssText使用教程
Nov 06 Javascript
面向切面编程(AOP)的理解
May 01 Javascript
JS处理一些简单计算题
Feb 24 Javascript
浅谈从React渲染流程分析Diff算法
Sep 08 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
Nov 02 Javascript
Vue实现菜单切换功能
Nov 08 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
Jan 06 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
PHP的分页功能
2007/03/21 PHP
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
Laravel日志用法详解
2016/10/09 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
海量经典的jQuery插件集合
2010/01/12 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
使用Require.js封装原生js轮播图的实现代码
2017/06/15 Javascript
在vue项目中安装使用Mint-UI的方法
2017/12/27 Javascript
angular5 httpclient的示例实战
2018/03/12 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
2018/05/05 Javascript
详解ESLint在Vue中的使用小结
2018/10/15 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
java直接调用python脚本的例子
2014/02/16 Python
Python中针对函数处理的特殊方法
2014/03/06 Python
Python中分数的相关使用教程
2015/03/30 Python
python访问类中docstring注释的实现方法
2015/05/04 Python
python处理“
2019/06/10 Python
Python安装及Pycharm安装使用教程图解
2019/09/20 Python
tensorflow的计算图总结
2020/01/12 Python
Python3变量与基本数据类型用法实例分析
2020/02/14 Python
Keras 快速解决OOM超内存的问题
2020/06/11 Python
python实现简单的tcp 文件下载
2020/09/16 Python
利用python如何实现猫捉老鼠小游戏
2020/12/04 Python
学校七一活动方案
2014/01/19 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
工作表扬信范文
2015/01/17 职场文书
颐和园导游词
2015/01/30 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书