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 相关文章推荐
XML+XSL 与 HTML 两种方案的结合
Apr 22 Javascript
javascript函数作用域学习示例(js作用域)
Jan 13 Javascript
基于JQuery实现图片轮播效果(焦点图)
Feb 02 Javascript
Javascript 动态改变imput type属性
Nov 01 Javascript
基于vue实现swipe轮播组件实例代码
May 24 Javascript
Angular2.0实现modal对话框的方法示例
Feb 18 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
May 23 Javascript
在axios中使用params传参的时候传入数组的方法
Sep 25 Javascript
详解基于原生JS验证表单组件xy-form
Aug 20 Javascript
django简单的前后端分离的数据传输实例 axios
May 18 Javascript
ElementUI 修改默认样式的几种办法(小结)
Jul 29 Javascript
JS removeAttribute()方法实现删除元素的某个属性
Jan 11 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 define()函数及defined()函数使用详解
2013/06/09 PHP
php通过数组实现多条件查询实现方法(字符串分割)
2014/05/06 PHP
PHP实现的进度条效果详解
2016/05/03 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
js脚本实现数据去重
2014/11/27 Javascript
微信小程序 http请求详细介绍
2016/10/09 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
JavaScript正则表达式exec/g实现多次循环用法示例
2017/01/17 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
angular4+百分比进度显示插件用法示例
2019/05/05 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
前端vue+elementUI如何实现记住密码功能
2020/09/20 Javascript
[40:55]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#4Newbee VS Fnatic
2016/03/03 DOTA
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
python实现名片管理器的示例代码
2019/12/17 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
C#如何进行LDAP用户校验
2012/11/21 面试题
医院门卫岗位职责
2013/12/30 职场文书
园艺师求职信
2014/04/27 职场文书
python异常中else的实例用法
2021/06/15 Python
解决Redis启动警告问题
2022/02/24 Redis
Python按顺序遍历并读取文件夹中文件
2022/04/29 Python