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 相关文章推荐
JavaScript面向对象编程
Mar 02 Javascript
dwr spring的集成实现代码
Mar 22 Javascript
Javascript写入txt和读取txt文件示例
Feb 12 Javascript
JS小数运算出现多为小数问题的解决方法
Jun 02 Javascript
微信小程序(应用号)开发新闻客户端实例
Oct 24 Javascript
原生js代码实现图片放大境效果
Oct 30 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
Nov 28 Javascript
javascript实现页面滚屏效果
Jan 17 Javascript
HTML的select控件美化
Mar 27 Javascript
详解Angular 4 表单快速入门
Jun 05 Javascript
es6函数之严格模式用法实例分析
Mar 17 Javascript
浅谈JavaScript中的“!!”作用
Aug 03 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
2019十大人气国漫
2020/03/13 国漫
php中文本操作的类
2007/03/17 PHP
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
2015/09/20 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
javascript中eval函数用法分析
2015/04/25 Javascript
js电话号码验证方法
2015/09/28 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
python实现sublime3的less编译插件示例
2014/04/27 Python
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
Python3 模块、包调用&amp;路径详解
2017/10/25 Python
Python音频操作工具PyAudio上手教程详解
2019/06/26 Python
Python使用线程来接收串口数据的示例
2019/07/02 Python
python实现桌面气泡提示功能
2019/07/29 Python
Python3 合并二叉树的实现
2019/09/30 Python
python 读取二进制 显示图片案例
2020/04/24 Python
Python识别验证码的实现示例
2020/09/30 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
PHP高级工程师面试问题推荐
2013/01/18 面试题
上海天奕面试题笔试题
2015/04/19 面试题
一年级班主任寄语
2014/01/19 职场文书
领导调研接待方案
2014/02/27 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
重阳节活动总结
2014/08/27 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL