JavaScript控制两个列表框listbox左右交换数据的方法


Posted in Javascript onMarch 18, 2015

本文实例讲述了JavaScript控制两个列表框listbox左右交换数据的方法。分享给大家供大家参考。具体分析如下:

这个功能我们经常用到,将左边列表框的元素移动到右边,或者将右边列表框的元素移动到左边,可以一次性全部移动

function listbox_moveacross(sourceID, destID) {

    var src = document.getElementById(sourceID);

    var dest = document.getElementById(destID);

    for(var count=0; count < src.options.length; count++) {

        if(src.options[count].selected == true) {

                var option = src.options[count];

                var newOption = document.createElement("option");

                newOption.value = option.value;

                newOption.text = option.text;

                newOption.selected = true;

                try {

                         dest.add(newOption, null); //Standard

                         src.remove(count, null);

                 }catch(error) {

                         dest.add(newOption); // IE only

                         src.remove(count);

                 }

                count--;

        }

    }

}

//..

listbox_moveacross('countryList', 'selectedCountryList');

下面是像是的演示效果代码,可以直接在浏览器内执行
Click below buttons to move selected options right or left.<br>

<table>

<tbody><tr>

    <td>

<select id="sourceSelect" size="10" multiple="">

 <option value="a">Afghanistan</option>

 <option value="b">Bahamas</option>

 <option value="c">Barbados</option>

 <option value="d">Belgium</option>

 <option value="e">Bhutan</option>

 <option value="f">China</option>

 <option value="g">Croatia</option>

 <option value="h">Denmark</option>

 <option value="i">France</option>

</select>

    </td>

    <td>

        <button onclick="listboxMoveacross('sourceSelect', 'destSelect');">>></button>  <br>

        <button onclick="listboxMoveacross('destSelect', 'sourceSelect');"><<</button>

    </td>

    <td>

<select id="destSelect" size="10" multiple="">

 <option value="a">Afghanistan</option>

 <option value="b">Bahamas</option>

 <option value="c">Barbados</option>

 <option value="d">Belgium</option>

 <option value="e">Bhutan</option>

 <option value="f">China</option>

 <option value="g">Croatia</option>

 <option value="h">Denmark</option>

 <option value="i">France</option>

</select>

    </td>

</tr>

</tbody></table>

    <script>

function listboxMoveacross(sourceID, destID) {

    var src = document.getElementById(sourceID);

    var dest = document.getElementById(destID);

    for(var count=0; count < src.options.length; count++) {

        if(src.options[count].selected == true) {

                var option = src.options[count];

                var newOption = document.createElement("option");

                newOption.value = option.value;

                newOption.text = option.text;

                newOption.selected = true;

                try {

                         dest.add(newOption, null); //Standard

                         src.remove(count, null);

                 }catch(error) {

                         dest.add(newOption); // IE only

                         src.remove(count);

                 }

                count--;

        }

    }

}

</script>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
jQuery弹出层插件简化版代码下载
Oct 16 Javascript
通过js来制作复选框的全选和不选效果
May 22 Javascript
jQuery源码解读之removeClass()方法分析
Feb 20 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
Sep 30 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
Jun 07 Javascript
深入学习js瀑布流布局
Oct 14 Javascript
Bootstrap实现提示框和弹出框效果
Jan 11 Javascript
node.js微信小程序配置消息推送的实现
Feb 13 Javascript
vue实现Input输入框模糊查询方法
Jan 29 Javascript
Vue data的数据响应式到底是如何实现的
Feb 11 Javascript
Javascript模块化机制实现原理详解
Apr 02 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
jQuery实现根据类型自动显示和隐藏表单
Mar 18 #Javascript
jQuery实现列表的全选功能
Mar 18 #Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
Mar 18 #Javascript
JavaScript移除数组内重复元素的方法
Mar 18 #Javascript
JavaScript给url网址进行encode编码的方法
Mar 18 #Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
Mar 18 #Javascript
Java File类的常用方法总结
Mar 18 #Javascript
You might like
php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
php面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
php下使用SimpleXML 处理XML 文件
2010/02/27 PHP
php对象和数组相互转换的方法
2015/05/12 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
网站页面自动跳转实现方法PHP、JSP(下)
2010/08/01 Javascript
js判读浏览器是否支持html5的canvas的代码
2013/11/18 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
2017/05/08 jQuery
动手写一个angular版本的Message组件的方法
2017/12/16 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
Python+Selenium自动化实现分页(pagination)处理
2017/03/31 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
pandas数据集的端到端处理
2019/02/18 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
药店主任岗位责任制
2014/02/10 职场文书
工程造价专业大学生职业规划范文
2014/03/09 职场文书
机械系毕业生求职信
2014/05/28 职场文书
素质教育标语
2014/06/27 职场文书
员工家属慰问信
2015/03/24 职场文书
导游词之南京栖霞山
2019/10/18 职场文书
CSS3实现三角形不断放大效果
2021/04/13 HTML / CSS
高并发下Redis如何保持数据一致性(避免读后写)
2022/03/18 Redis