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 相关文章推荐
ExtJS 2.0实用简明教程 之获得ExtJS
Apr 29 Javascript
jQuery Validation插件remote验证方式的Bug解决
Jul 01 Javascript
JavaScript获取/更改文本框的值的实例代码
Aug 02 Javascript
简单时间提示DEMO从0开始一直进行计时
Nov 19 Javascript
浅析JavaScript中的delete运算符
Nov 30 Javascript
获取select元素被选中的文本内容的js代码
Jan 29 Javascript
JavaScript遍历table表格中的某行某列并打印其值
Jul 08 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
Mar 02 Javascript
JavaScript中日期的相关操作方法总结
Oct 24 Javascript
微信小程序 开发指南详解
Sep 27 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
Mar 06 Javascript
Vue项目移动端滚动穿透问题的实现
May 19 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
将RTF格式的文件转成HTML并在网页中显示的代码
2006/10/09 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
PHP基于回溯算法解决n皇后问题的方法示例
2017/11/07 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
jquery随意添加移除html的实现代码
2011/06/21 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
JS中图片缓冲loading技术的实例代码
2013/08/29 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
2013/10/20 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
AngularJS基础 ng-csp 指令详解
2016/08/01 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
vue 计算属性和侦听器的使用小结
2021/01/25 Vue.js
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
python模块之subprocess模块级方法的使用
2019/03/26 Python
深入了解Django中间件及其方法
2019/07/26 Python
Python中调用其他程序的方式详解
2019/08/06 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
Ubuntu20下的Django安装的方法步骤
2021/01/24 Python
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
党章学习思想汇报
2014/01/14 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
正确使用MySQL update语句
2021/05/26 MySQL
MySQL之select、distinct、limit的使用
2021/11/11 MySQL
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers