js: 实现Select的option上下移动
来源:互联网 发布:电子竞技 奥运会 知乎 编辑:程序博客网 时间:2024/05/18 22:45
<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>
<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>
- js: 实现Select的option上下移动
- js: 实现Select的option上下移动
- JS实现Select的option上下移动的方法
- js控制select 中option项的上下移动
- javascript实现select中option的顺序上下移动
- js里面<option>的上下移动选择
- 关于select上下移动实现的一些个人见解
- 用jQuery实现<select>选项上下移动
- 用jQuery实现<select>选项上下移动
- JS控制Option实例(增加、删除,上下移动)
- js控制select的option
- js与select实现左右option的交换删除
- JS实现select去除option的使用注意事项
- Js选择框脚本 移动操作select 标签中的 option 项的操作事项
- Js选择框脚本 移动操作select 标签中的 option 项的操作事项
- js实现下拉选中option移动
- js实现数组元素上下移动
- js select的option的操作
- CSDN精选iPhone开发博客
- 使用路由器后发现部分网站无法访问
- 699 - The Falling Leaves
- 839 - Not so Mobile
- Effective C++ 读书笔记 Item 53/54/55
- js: 实现Select的option上下移动
- 2012龙年的计划与期待(1)
- Build an embedded Linux distro from scratch 从无到有打造Linux发布包 之1 闲言碎语
- 数据库三范式
- 【排序】排序算法之---归并排序
- 程序猿们,面对诱惑,你能hold住吗?
- DRP之旅第一站--DRP概览
- WinEdt 6.0更改字体或字号技巧
- base-kernel-虚拟和物理地址