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 相关文章推荐
使用prototype.js 的时候应该特别注意的几个问题.
Apr 12 Javascript
js获得页面的高度和宽度的方法
Feb 23 Javascript
node+express+jade制作简单网站指南
Nov 26 Javascript
浅谈javascript中createElement事件
Dec 05 Javascript
uploadify多文件上传参数设置技巧
Nov 16 Javascript
解决前端跨域问题方案汇总
Nov 20 Javascript
Vuex和前端缓存的整合策略详解
May 09 Javascript
详解react关于事件绑定this的四种方式
Mar 09 Javascript
结合Vue控制字符和字节的显示个数的示例
May 17 Javascript
JS拖拽排序插件Sortable.js用法实例分析
Feb 20 Javascript
iphone刘海屏页面适配方法
May 07 Javascript
微信小程序可滑动月日历组件使用详解
Oct 21 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/02/19 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
使用PHP开发留言板功能
2019/11/19 PHP
JavaScript国旗变换效果代码
2008/08/13 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
jQuery实现自动输入email、时间和域名的方法
2016/08/24 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
jquery网页加载进度条的实现
2017/06/01 jQuery
深入理解vue-router之keep-alive
2017/08/31 Javascript
javascript中的数据类型检测方法详解
2019/08/07 Javascript
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
[05:24]TI9采访——教练
2019/08/24 DOTA
Python内置函数之filter map reduce介绍
2014/11/30 Python
Python实现测试磁盘性能的方法
2015/03/12 Python
Python3处理文件中每个词的方法
2015/05/22 Python
Python实现身份证号码解析
2015/09/01 Python
Python处理文本换行符实例代码
2018/02/03 Python
python+pandas生成指定日期和重采样的方法
2018/04/11 Python
Python引用计数操作示例
2018/08/23 Python
使用python实现简单五子棋游戏
2019/06/18 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
巴西在线鞋店:Shoestock
2017/10/28 全球购物
ddl,dml和dcl的含义
2016/05/08 面试题
2019年.net常见面试问题
2012/02/12 面试题
音乐教学反思
2014/02/02 职场文书
项目建议书模板
2014/05/12 职场文书
房屋租赁委托书范本
2014/10/04 职场文书
公司承诺函范文
2015/01/21 职场文书
python 下载文件的几种方式分享
2021/04/07 Python
对Golang中的FORM相关字段理解
2021/05/02 Golang
Python 多线程处理任务实例
2021/11/07 Python