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 相关文章推荐
用js实现的检测浏览器和系统的函数
Apr 09 Javascript
jQuery帮助之筛选查找 children([expr])
Jan 31 Javascript
jQuery检测滚动条是否到达底部
Dec 15 Javascript
jquery插件EasyUI中form表单提交实例分享
Jan 11 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
May 12 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
Aug 06 Javascript
解析javascript图片懒加载与预加载的分析总结
Oct 27 Javascript
详解Vue微信公众号开发踩坑全记录
Aug 21 Javascript
webpack构建换肤功能的思路详解
Nov 27 Javascript
你点的 ES6一些小技巧,请查收
Apr 25 Javascript
js实现贪吃蛇小游戏
Oct 29 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
Feb 15 Javascript
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
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
46 个非常有用的 PHP 代码片段
2016/02/16 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
Symfony的安装和配置方法
2016/03/17 PHP
JS动画效果代码3
2008/04/03 Javascript
input 高级限制级用法
2009/03/26 Javascript
JQuery入门——事件切换之hover()方法应用介绍
2013/02/05 Javascript
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
2014/04/17 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
浅谈vue实现数据监听的函数 Object.defineProperty
2017/06/08 Javascript
JavaScript创建对象的七种方式(推荐)
2017/06/26 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
JavaScript常用截取字符串的三种方式用法区别实例解析
2018/05/15 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
js module大战
2019/04/19 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
2020/07/17 Javascript
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
[01:48:04]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第一场 2月7日
2021/03/11 DOTA
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
python日志记录模块实例及改进
2017/02/12 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
通过实例解析Python调用json模块
2019/12/11 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
Sisley法国希思黎中国官网:享誉全球的奢华植物美容品牌
2019/06/30 全球购物
生产班组长岗位职责
2014/01/05 职场文书
留学推荐信怎么写
2014/01/25 职场文书
先进工作者主要事迹材料
2015/11/03 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
PyMongo 查询数据的实现
2021/06/28 Python
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers