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 相关文章推荐
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
Apr 24 Javascript
学习ExtJS Window常用方法
Oct 07 Javascript
控制文字内容的显示与隐藏示例
Jun 11 Javascript
angular中使用路由和$location切换视图
Jan 23 Javascript
jQuery Validate插件实现表单强大的验证功能
Dec 18 Javascript
判断JS对象是否拥有某属性的方法推荐
May 12 Javascript
利用JS实现文字的聚合动画效果
Jan 22 Javascript
jQuery Ajax前后端使用JSON进行交互示例
Mar 17 Javascript
详解vue-cli 构建Vue项目遇到的坑
Aug 30 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
Mar 06 Javascript
JavaScript实现Excel表格效果
Feb 07 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
Jul 31 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 preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
让PHP支持断点续传的源码
2010/05/16 PHP
php定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
JavaScript中关于for循环删除数组元素内容时出现的问题
2016/11/21 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
2016/12/01 Javascript
原生js轮播(仿慕课网)
2017/02/15 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
2017/04/13 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
原生javascript实现类似vue的数据绑定功能示例【观察者模式】
2020/02/24 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
python最长回文串算法
2018/06/04 Python
Python使用matplotlib和pandas实现的画图操作【经典示例】
2018/06/13 Python
Python 支付整合开发包的实现
2019/01/23 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
印度第一网上礼品店:IGP.com
2020/02/06 全球购物
态度决定一切演讲稿
2014/05/20 职场文书
专业见习报告范文
2014/11/03 职场文书
导游词范文
2015/02/13 职场文书
开国大典观后感
2015/06/04 职场文书
运动会班级前导词
2015/07/20 职场文书
vue实现列表拖拽排序的示例代码
2022/04/08 Vue.js