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 相关文章推荐
Google Suggest ;-) 基于js的动态下拉菜单
Oct 11 Javascript
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
Feb 09 Javascript
javascript据option的value值快速设定初始的selected选项
Aug 13 Javascript
用apply让javascript函数仅执行一次的代码
Jun 27 Javascript
浅析ajax请求json数据并用js解析(示例分析)
Jul 13 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
Apr 14 Javascript
js 动态修改css文件用到了cssRule
Aug 20 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
Nov 15 Javascript
bootstrap table表格客户端分页实例
Aug 07 Javascript
Angular5.1新功能分享
Dec 21 Javascript
深入理解Vue.js轻量高效的前端组件化方案
Dec 10 Javascript
js基于div丝滑实现贝塞尔曲线
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
PHP date函数参数详解
2006/11/27 PHP
php 信息采集程序代码
2009/03/17 PHP
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
PHP 第二节 数据类型之转换
2012/04/28 PHP
php模式设计之观察者模式应用实例分析
2019/09/25 PHP
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
Javascript 按位与运算符 (&amp;)使用介绍
2014/02/04 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
Iscrool下拉刷新功能实现方法(推荐)
2017/06/26 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
用Python的Tornado框架结合memcached页面改善博客性能
2015/04/24 Python
python创造虚拟环境方法总结
2019/03/04 Python
python用for循环求和的方法总结
2019/07/08 Python
新建文件时Pycharm中自动设置头部模板信息的方法
2020/04/17 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
采购部岗位职责
2013/11/24 职场文书
医学生自荐信
2013/12/03 职场文书
《长征》教学反思
2014/04/27 职场文书
林肯就职演讲稿
2014/05/19 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
南京导游词
2015/02/03 职场文书
工作年限证明模板
2015/06/15 职场文书
如何起草一份正确的合伙创业协议书?
2019/07/04 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang
Go语言 详解net的tcp服务
2022/04/14 Golang
使用Python获取字典键对应值的方法
2022/04/26 Python