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字典探测用户名工具
Oct 05 Javascript
js中cookie的使用详细分析
May 28 Javascript
javascript面向对象之二 命名空间
Feb 08 Javascript
jQuery.buildFragment使用方法及思路分析
Jan 07 Javascript
javascript事件函数中获得事件源的两种不错方法
Mar 17 Javascript
ECMAScript中函数function类型
Jun 03 Javascript
Js+php实现异步拖拽上传文件
Jun 23 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
Jun 14 Javascript
JavaScript中常用的验证reg
Oct 13 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
Jul 10 Javascript
详解swiper在vue中的应用(以3.0为例)
Sep 20 Javascript
详解jQuery设置内容和属性
Apr 11 jQuery
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的PHP XML类
2006/10/09 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
PHP5.3安装Zend Guard Loader图文教程
2014/09/29 PHP
PHP中把数据库查询结果输出为json格式简单实例
2015/04/09 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
JS获取html对象的几种方式介绍
2013/12/05 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
Bootstrap CSS布局之表格
2016/12/17 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
通过图带你深入了解vue的响应式原理
2019/06/21 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
Python中的多行注释文档编写风格汇总
2016/06/16 Python
取numpy数组的某几行某几列方法
2018/04/03 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
Flask框架web开发之零基础入门
2018/12/10 Python
pandas数据筛选和csv操作的实现方法
2019/07/02 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
python3中布局背景颜色代码分析
2020/12/01 Python
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
校本教研活动总结
2014/07/01 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android