JS实现Select的option上下移动的方法


Posted in Javascript onMarch 01, 2016

本文实例讲述了JS实现Select的option上下移动的方法。分享给大家供大家参考,具体如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
function UpOrDown(direct, selectId) {//direct : 1:Up, -1:Down
 var obj = document.getElementById(selectId);
 var len = obj.length;
 var index = obj.selectedIndex;
 //如果:1.没有选中的项; 2.向上,但已是最上; 3.向下,但是最下,不作处理
 if ( (index == -1) || (direct == -1 && index == 0) || (direct == 1 && index >= len - 1) )
  return;
 var swapIndex = index + direct;
 var tempOptions = new Array();
 for (var i = 0; i < len; i++){
  tempOptions[tempOptions.length] = obj.options[i == index?swapIndex:(i == swapIndex?index:i)];
 }
 obj.options.length = 0;
 for (var i = 0; i < len; i++)
  obj.options.add(tempOptions[i]);
}
function UpOrDown2(direct, selectId) {//direct : 1:Up, 0:Down
 var obj = document.getElementById(selectId);
 var len = obj.length;
 var index = obj.selectedIndex;
 //如果:1.没有选中的项; 2.向上,但已是最上; 3.向下,但是最下,不作处理
 if( (index == -1) || (direct == 1 && index == 0) || (direct == 0 && index >= len - 1) )
  return;
 var tempOptions = new Array();
 //如是向上,得到自己上一个到最后的option数组;如是向下,得到自己到最后一个的option数组
 for (var i = index - direct; i < len; i++)
  tempOptions[tempOptions.length] = obj.options[i];
 //去除刚才取得的部分
 obj.options.length = index - direct;
 //颠倒取两个option
 obj.options.add(tempOptions[1]);
 obj.options.add(tempOptions[0]);
 //将余下的option全部加进来
 for (var i = 2; i < tempOptions.length; i++)
  obj.options.add(tempOptions[i]);
}
</script>
</head>
<body>
 <table>
  <tr>
   <td>
    <select id="Select1" size="100" style="width:100px;height:200px;">
     <option>1</option>
     <option>2</option>
     <option>3</option>
     <option>4</option>
     <option>5</option>
    </select>
   </td>
   <td>
    <img id="imgUp" alt="Up" onclick="UpOrDown(-1,'Select1')" style="cursor:pointer;" /><br />
    <img id="imgDown" alt="Down" onclick="UpOrDown(1,'Select1')" style="cursor:pointer;" />
   </td>
   <td>
    <img id="img1" alt="Up2" onclick="UpOrDown2(1,'Select1')" style="cursor:pointer;" /><br />
    <img id="img2" alt="Down2" onclick="UpOrDown2(0,'Select1')" style="cursor:pointer;" />
   </td>
  </tr>
 </table>
</body>
</html>

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

Javascript 相关文章推荐
JXTree对象,读取外部xml文件数据,生成树的函数
Apr 02 Javascript
extjs中grid中嵌入动态combobox的应用
Jan 01 Javascript
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
Sep 19 Javascript
js数组循环遍历数组内所有元素的方法
Jan 18 Javascript
javascript函数中参数传递问题示例探讨
Jul 31 Javascript
基于javascript实现动态时钟效果
Aug 18 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
Sep 20 Javascript
完全深入学习Bootstrap表单
Nov 28 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
Feb 13 Javascript
axios的拦截请求与响应方法
Aug 11 Javascript
小程序server请求微信服务器超时的解决方法
May 21 Javascript
JavaScript架构localStorage特殊场景下二次封装操作
Jun 21 Javascript
angular2使用简单介绍
Mar 01 #Javascript
JS实现的在线调色板实例(附demo源码下载)
Mar 01 #Javascript
Bootstrap每天必学之导航条(二)
Mar 01 #Javascript
JavaScript实现简洁的俄罗斯方块完整实例
Mar 01 #Javascript
用NODE.JS中的流编写工具是要注意的事项
Mar 01 #Javascript
JS实现图片平面旋转的方法
Mar 01 #Javascript
JS显示日历和天气的方法
Mar 01 #Javascript
You might like
php+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
PHP URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
php编写的抽奖程序中奖概率算法
2015/05/14 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
提高javascript效率 一次判断,而不要次次判断
2012/03/30 Javascript
鼠标放在图片上显示大图的JS代码
2013/03/26 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
JavaScript操作XML文件之XML读取方法
2015/06/09 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
VUE页面中加载外部HTML的示例代码
2017/09/20 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
微信小程序云开发 生成带参小程序码流程
2019/05/18 Javascript
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
Python解决走迷宫问题算法示例
2018/07/27 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
Django接收post前端返回的json格式数据代码实现
2019/07/31 Python
Python的条件锁与事件共享详解
2019/09/12 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
python实现猜数游戏
2020/03/27 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
2021/01/06 Python
逼真的HTML5树叶飘落动画
2016/03/01 HTML / CSS
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
往来会计岗位职责
2013/12/19 职场文书
村容村貌整治方案
2014/05/21 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
红色革命电影观后感
2015/06/18 职场文书
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python