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 去除数组的重复元素
May 04 Javascript
Javascript中的几种继承方式对比分析
Mar 22 Javascript
js实现获取两个日期之间所有日期的方法
Jun 17 Javascript
js图片上传前预览功能(兼容所有浏览器)
Aug 24 Javascript
将JSON字符串转换成Map对象的方法
Nov 30 Javascript
node打造微信个人号机器人的方法示例
Apr 26 Javascript
详解在React项目中安装并使用Less(用法总结)
Mar 18 Javascript
js面向对象之实现淘宝放大镜
Jan 15 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
Jul 22 Javascript
Vue实现简单购物车功能
Dec 13 Vue.js
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
用JS实现飞机大战小游戏
Jun 09 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 join函数应用
2011/05/04 PHP
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
2013/04/25 Javascript
Jquery带搜索框的下拉菜单
2013/05/06 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
javascript折半查找详解
2015/01/26 Javascript
jQuery在线选座位插件seat-charts特效代码分享
2015/08/27 Javascript
BooStrap对导航条的改造实践小结
2016/09/21 Javascript
Bootstrap整体框架之CSS12栅格系统
2016/12/15 Javascript
js实现悬浮窗效果(支持拖动)
2017/03/09 Javascript
Bootstrap模态框(Modal)实现过渡效果
2017/03/17 Javascript
使用AngularJS对表单提交内容进行验证的操作方法
2017/07/12 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
使用vue如何构建一个自动建站项目
2018/02/05 Javascript
详解利用eventemitter2实现Vue组件通信
2019/11/04 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
node.JS路径解析之PATH模块使用方法详解
2020/02/06 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
videocapture库制作python视频高速传输程序
2013/12/23 Python
Python中的True,False条件判断实例分析
2015/01/12 Python
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
python实现简单神经网络算法
2018/03/10 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
会计人员岗位职责
2014/03/19 职场文书
学生期末评语大全
2014/04/30 职场文书
小学校长汇报材料
2014/08/20 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
党员检讨书范文
2014/12/27 职场文书
保证金退回承诺函格式
2015/01/21 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android