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 相关文章推荐
一个选择最快的服务器转向代码
Apr 27 Javascript
学习ExtJS 访问容器对象
Oct 07 Javascript
用js做一个小游戏平台 (一)
Dec 29 Javascript
JavaScript操纵窗口的方法小结
Jun 28 Javascript
可简单避免的三个JS发布错误的详细介绍
Aug 02 Javascript
js获取表格的行数和列数的方法
Oct 23 Javascript
关于 jQuery Easyui异步加载tree的问题解析
Dec 06 Javascript
详解Vue-基本标签和自定义控件
Mar 24 Javascript
js实现音频控制进度条功能
Apr 01 Javascript
jQuery Validate插件ajax方式验证输入值的实例
Dec 21 jQuery
vue.js 实现a标签href里添加参数
Nov 12 Javascript
微信小程序之高德地图多点路线规划过程示例详解
Jan 18 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
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
2016/01/19 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
详解PHP中的 input属性(隐藏 只读 限制)
2017/08/14 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
javascript中创建对象的三种常用方法
2010/12/30 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
原生js仿jquery实现对Ajax的封装
2016/10/04 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
原生JS实现图片网格式渐显、渐隐效果
2017/06/05 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
跟老齐学Python之使用Python查询更新数据库
2014/11/25 Python
实时获取Python的print输出流方法
2019/01/07 Python
Python 元组操作总结
2019/09/18 Python
flask实现验证码并验证功能
2019/12/05 Python
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
项目专员岗位职责
2013/12/04 职场文书
军训自我鉴定100字
2014/02/13 职场文书
真诚的求职信
2014/07/04 职场文书
运动会广播稿100字
2014/09/14 职场文书
小学生心理健康活动总结
2015/05/08 职场文书
毕业答辩开场白范文
2015/05/27 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python
mysql 联合索引生效的条件及索引失效的条件
2021/11/20 MySQL