JavaScript控制listbox列表框的项目上下移动的方法


Posted in Javascript onMarch 18, 2015

本文实例讲述了JavaScript控制listbox列表框的项目上下移动的方法。分享给大家供大家参考。具体分析如下:

这段JS代码可以控制listbox内的元素向上或者向下移动,这个功能非常有用。下面是详细的代码

function listbox_move(listID, direction) {

    var listbox = document.getElementById(listID);

    var selIndex = listbox.selectedIndex;

    if(-1 == selIndex) {

        alert("Please select an option to move.");

        return;

    }

    var increment = -1;

    if(direction == 'up')

        increment = -1;

    else

        increment = 1;

    if((selIndex + increment) < 0 ||

        (selIndex + increment) > (listbox.options.length-1)) {

        return;

    }

    var selValue = listbox.options[selIndex].value;

    var selText = listbox.options[selIndex].text;

    listbox.options[selIndex].value = listbox.options[selIndex + increment].value

    listbox.options[selIndex].text = listbox.options[selIndex + increment].text

    listbox.options[selIndex + increment].value = selValue;

    listbox.options[selIndex + increment].text = selText;

    listbox.selectedIndex = selIndex + increment;

}

//..

//..

listbox_move('countryList', 'up'); //move up the selected option

listbox_move('countryList', 'down'); //move down the selected option

下面是详细的演示代码,可以在浏览器内使用
Click below buttons to select or deselect all options from select box.<br>

    <select id="lsbox" name="lsbox" size="10" multiple="">

        <option value="1">India</option>

        <option value="2">United States</option>

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

        <option value="4">Italy</option>

        <option value="5">Germany</option>

        <option value="6">Canada</option>

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

        <option value="8">United Kingdom</option>

    </select> <br>

<button onclick="listboxMove('lsbox', 'up');">Move Up</button>

<button onclick="listboxMove('lsbox', 'down');">Move Down</button>

<script>

function listboxMove(listID, direction) {

    var listbox = document.getElementById(listID);

    var selIndex = listbox.selectedIndex;

    if(-1 == selIndex) {

        alert("Please select an option to move.");

        return;

    }

    var increment = -1;

    if(direction == 'up')

        increment = -1;

    else

        increment = 1;

    if((selIndex + increment) < 0 ||

        (selIndex + increment) > (listbox.options.length-1)) {

        return;

    }

    var selValue = listbox.options[selIndex].value;

    var selText = listbox.options[selIndex].text;

    listbox.options[selIndex].value = listbox.options[selIndex + increment].value

    listbox.options[selIndex].text = listbox.options[selIndex + increment].text

    listbox.options[selIndex + increment].value = selValue;

    listbox.options[selIndex + increment].text = selText;

    listbox.selectedIndex = selIndex + increment;

}

</script>

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

Javascript 相关文章推荐
JavaScript将Table导出到Excel实现思路及代码
Mar 13 Javascript
JavaScript常用全局属性与方法记录积累
Jul 03 Javascript
使用jquery解析XML示例代码
Sep 05 Javascript
js实现图片漂浮效果的方法
Mar 02 Javascript
JQuery中节点遍历方法实例
May 18 Javascript
基于React.js实现原生js拖拽效果引发的思考
Mar 30 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
Jun 06 Javascript
浅析Vue中method与computed的区别
Mar 06 Javascript
vue-lazyload使用总结(推荐)
Nov 01 Javascript
Node.js+Express+Mysql 实现增删改查
Apr 03 Javascript
如何正确理解vue中的key详解
Nov 02 Javascript
Angular CLI发布路径的配置项浅析
Mar 29 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
Mar 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
You might like
php+javascript的日历控件
2009/11/19 PHP
ThinkPHP控制器详解
2015/07/27 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
2013/01/23 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
2017/02/27 Javascript
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
微信小程序实现tab页面切换功能
2018/07/13 Javascript
浅析java线程中断的办法
2018/07/29 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
vue+mock.js实现前后端分离
2019/07/24 Javascript
JS实现的tab切换并显示相应内容模块功能示例
2019/08/03 Javascript
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
Python 面向对象 成员的访问约束
2008/12/23 Python
Python实现获取某天是某个月中的第几周
2015/02/11 Python
python中Switch/Case实现的示例代码
2017/11/09 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
2018/03/19 Python
Python包和模块的分发详细介绍
2020/06/19 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
《彩色世界》教学反思
2014/04/12 职场文书
房屋维修协议书范本
2014/09/25 职场文书
服装店员工管理制度
2015/08/07 职场文书