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的时候写的学习笔记
Dec 30 Javascript
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
May 15 Javascript
JS实现简易图片轮播效果的方法
Mar 25 Javascript
node.js中格式化数字增加千位符的几种方法
Jul 03 Javascript
在JavaScript中访问字符串的子串
Jul 07 Javascript
jQuery xml字符串的解析、读取及查找方法
Mar 01 Javascript
js实现鼠标拖动功能
Mar 20 Javascript
JS设计模式之状态模式概念与用法分析
Feb 05 Javascript
vue双向数据绑定知识点总结
Apr 18 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
Jul 10 Javascript
详解Vue中Axios封装API接口的思路及方法
Oct 10 Javascript
JS前端使用Canvas快速实现手势解锁特效
Sep 23 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
上海无线电三厂简史修改版
2021/03/01 无线电
用PHP动态生成虚拟现实VRML网页
2006/10/09 PHP
php数字游戏 计算24算法
2012/06/10 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
php实现smarty模板无限极分类的方法
2015/12/07 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
2016/07/28 PHP
php文件上传类的分享
2017/07/06 PHP
一个网马的tips实现分析
2010/11/28 Javascript
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
详解webpack + vue + node 打造单页面(入门篇)
2017/09/23 Javascript
详解webpack-dev-server的简单使用
2018/04/02 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
node.js中express模块创建服务器和http模块客户端发请求
2019/03/06 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
2020/09/21 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
pycharm 使用心得(五)断点调试
2014/06/06 Python
使用Python3制作TCP端口扫描器
2017/04/17 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
英国最大的百货公司:Harrods
2016/08/18 全球购物
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
局域网标准
2016/09/10 面试题
网站文案策划岗位职责
2015/04/14 职场文书
2015入党个人自传范文
2015/06/26 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python
Python中的pprint模块
2021/11/27 Python
浅谈Redis缓冲区机制
2022/06/05 Redis