`
wanglihu
  • 浏览: 919124 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类

JS实现选项右移,左移,向上,向下调整顺序

阅读更多
    当我将列右移,左移,向上,向下调整顺序使用JS彻底实现的时候,我真正意义上的感悟到为啥要javascript在最近几年里发展如此凶猛,真的是太令我欣慰了!
    你是否在工作和学习中也遇到这样的问题呢?那就不防运行一下我的这段程序,看看是不是你要的效果,或者对你有帮助呢?
<%@ page contentType="text/html; charset=GB2312" language="java"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title>调整上下左右顺序实例</title>
<link rel="stylesheet" href="style/style_<%=strCssType%>.css"
type="text/css">
<script language="JavaScript">
function chooseItems(source, target)
{
var choiceOptions = source.options;
var selectedOptions = target.options;

for (i = 0; i < (choiceOptions.length); i++)
{
var temp = choiceOptions.item(i);
if (temp.selected == true)
{
var oOption = document.createElement("OPTION");
selectedOptions[selectedOptions.length] = new Option(temp.text, temp.value);
}
}

for (j = (choiceOptions.length-1); j >= 0; j--)
{
var temp = choiceOptions.item(j);
if (temp.selected == true)
{
choiceOptions[j] = null;
}
}
}

function adjustUp()
{
var itemOptions = form1.selectcolumns.options;
var selectedOption;
var count = 0;
var index;
for ( i = 0; i < itemOptions.length ; i++)
{
var temp = itemOptions.item(i);
if (temp.selected == true)
{
count++;
if (count > 1)
{
alert("只能选择一个列调整顺序!");
return;
} else if(count == 1) {
index = i;
}
}
}
if (count == 0)
{
alert("请选择要调整顺序的列!");
return;
}

if (index == 0)
return;

selectedOption = itemOptions[index];
var lastOption = itemOptions[index-1];
var temp = new Option(selectedOption.text, selectedOption.value);

selectedOption.text = lastOption.text;
selectedOption.value = lastOption.value;
selectedOption.selected = false;

lastOption.text = temp.text;
lastOption.value = temp.value;
lastOption.selected = true;
}

function adjustDown()
{
var itemOptions = form1.selectcolumns.options;
var selectedOption;
var count = 0;
var index;
for ( i = 0; i < itemOptions.length ; i++)
{
var temp = itemOptions[i];
if (temp.selected == true)
{
count++;
if (count > 1)
{
alert("只能选择一个列调整顺序!");
return;
} else if(count == 1) {
index = i;
}
}
}

if (count == 0)
{
alert("请选择要调整顺序的列!");
return;
}

if (index == itemOptions.length-1)
return;
selectedOption = itemOptions[index];
var nextOption = itemOptions[index+1];
var temp = new Option(selectedOption.text, selectedOption.value);

selectedOption.text = nextOption.text;
selectedOption.value = nextOption.value;
selectedOption.selected = false;

nextOption.text = temp.text;
nextOption.value = temp.value;
nextOption.selected = true;
}

function checkForm(form1)
{
var columnsOptions = form1.selectcolumns.options;

if (columnsOptions.length == 0) {
alert("请选择要显示的列!");
return false;
}

for (i = 0; i < columnsOptions.length; i++)
{
columnsOptions[i].selected = true;


return true;
}

</script>
</head>

<body>
<form name="form1" method="post" action="basylistForward.do"
onSubmit="return checkForm(form1)">
<center>

<table height="5" border="0" align="center" cellpadding="0"
cellspacing="0">
<tr>
<td></td>
</tr>
</table>
<table width="700">
<tr>
<td width="40%" align="center">
<select name="choices" size="25" style="width: 100%"
multiple="multiple">
<option value="userName">
用户名
</option>
<option value="password">
密码
</option>
<option value="Email">
邮箱
</option>
<option value="address">
住址
</option>
<option value="telephone">
联系方式
</option>
<OPTION value="birthday">
生日
</OPTION>
<OPTION value="firstName">

</OPTION>
<OPTION value="lastName">

</OPTION>
<option value="age">
年龄
</option>
<option value="company">
工作单位
</option>
<option value="workTime">
参加工作日期
</option>

</select>
</td>
<td width="10%" align="center">
<input name="but_r" type="button" class="buttonr"
onClick="chooseItems(form1.choices, form1.selectcolumns)">
<table height="5" border="0" align="center" cellpadding="0"
cellspacing="0">
<tr>
<td></td>
</tr>
</table>
<input name="but_l" type="button" class="buttonl"
onClick="chooseItems(form1.selectcolumns, form1.choices)">
</td>
<td width="40%" align="center">
<select name="selectcolumns" size="25" style="width: 100%"
multiple="multiple">
<option value="BasySex_n">
性别
</option>
<option value="BasyAge">
年龄
</option>
<option value="BasyRdate">
入院日期
</option>
<option value="BasyCDate">
出院日期
</option>
<option value="BasyCykbN">
出院科别
</option>
<option value="BasyCyMzd">
主要诊断名称
</option>
<option value="BasyCyMcyqk_n">
出院情况
</option>
<option value="BasyZyfySum">
住院费用
</option>
<option value="BasyJzh">
备用号
</option>
</select>
</td>
<td width="10%" align="center">
<input name="but_u" type="button" class="buttonu"
onClick="adjustUp()">
<table height="5" border="0" align="center" cellpadding="0"
cellspacing="0">
<tr>
<td></td>
</tr>
</table>
<input name="but_d" type="button" class="buttond"
onClick="adjustDown()">
</td>
</tr>
<tr>
<TD align="center">
&nbsp;
</TD>
<TD align="center">
&nbsp;
</TD>
<TD align="center">
<INPUT type="submit" class="button" value="显示(V)"  accesskey="v">
&nbsp;&nbsp;
<a href="javascript:history.go(-1)"><font color="red">返回</font>
</a>
</TD>
<TD align="center">
&nbsp;
</TD>
</tr>
</table>
</center>
</form>
</body>
</html>
如果你觉得好,那就给我评点一下,否则你也别说啥,拍拍屁股走人好吧
分享到:
评论
4 楼 xinsiyou 2014-09-17  
牛逼,就是样式被搞没了
3 楼 h576497619m 2014-03-14  
就是我要的,感谢!
2 楼 beee 2013-08-15  
呵呵,很强大,不错
1 楼 bosschen 2012-07-03  
确实好。是我所要的。谢谢。

相关推荐

    跑马灯可以实现右移左移分别两次,闪烁两次

    然后,使用`RR A`指令实现右移操作,`RL A`指令实现左移操作。`LCALL DELAY`调用延迟函数,模拟延时0.2秒的效果,使得灯光变化可见。 `DELAY`和`DELAY1`是两个不同延时子程序,它们用递减计数器的方式实现不同长度...

    易语言汇编实现左移右移模块

    标题“易语言汇编实现左移右移模块”指出,这个模块是使用汇编语言编写的,目的是在易语言环境中实现位移操作。汇编语言是一种低级编程语言,直接对应机器指令,可以提供对硬件更直接的控制。在这种情况下,开发者...

    跑马灯程序(左移右移)

    假设我们有一个8位的二进制数,每位对应一个LED灯,通过左移或右移这个二进制数,可以实现灯光的连续滚动效果。比如,初始状态为10101010,左移一位后变为01010101,这样看起来就像是最左边的灯熄灭了,而最右边的灯...

    JS学习DOM 关联下拉列表,时钟,全选全不选,选中左移右移,实现创建自定义表格 弹出选项页面填入文本框

    功能很完备,比如选中A框左移到B框,不选中按下按钮会提示未选择选项。多选之后同样可以实现选中左移。 以下详细介绍每个练习: 1.汽车选中左,右移动,全部左,右移动练习:四个功能按钮,选中左移,右移,全部左移...

    JavaScript实现两个select下拉框选项左移右移

    在这个场景中,用于将第一个下拉框的选项顺序反转后再移动到第二个下拉框,以实现"全部向右移"的功能。 10. 在开发类似的小程序时,需要注意对于用户交互的友好性。比如,在移动选项之前进行选择的检查,以及在没有...

    crc32位左移,右移算法

    在实际应用中,理解并正确实现CRC32位左移和右移算法至关重要,因为错误的数据校验可能导致数据传输错误、文件损坏等问题。熟练掌握这些算法可以帮助我们在数据处理中提高效率和可靠性,确保数据在传输和存储过程中...

    jquery 实现的 select 上移、下移、左移、右移功能

    总结起来,jQuery 提供了强大的工具来处理 Select 元素和其选项,使得动态调整选项顺序成为可能。理解并熟练运用这些工具对于提升用户体验和增强应用交互性至关重要。通过实践和调试,你可以创造出更加灵活和个性化...

    易语言源码易语言汇编实现左移右移模块源码.rar

    易语言源码易语言汇编实现左移右移模块源码.rar 易语言源码易语言汇编实现左移右移模块源码.rar 易语言源码易语言汇编实现左移右移模块源码.rar 易语言源码易语言汇编实现左移右移模块源码.rar 易语言源码易语言...

    易语言左移右移口算公式

    同时,理解左移和右移在不同场景下的应用,比如在数字运算、内存管理和数据存储等方面,将有助于你更好地运用这些知识解决实际问题。 总的来说,"易语言左移右移口算公式"是一个很好的学习资源,它涵盖了位操作、...

    双灯左移右移闪烁程序

    2个led灯先左移,然后右移,然后同时闪烁。使用多个for循环实现。

    C语言中的左移和右移

    左移是指将一个数的所有位向左移动若干位,而右移是指将一个数的所有位向右移动若干位。 左移的规则是,将该数的所有位向左移动指定的位数,并在最右边补零。如果左移的位数超过该数值类型的最大位数,编译器会用...

    易语言左移右移源码.rar

    在易语言中,“左移”和“右移”是两种位操作符,常用于二进制数据处理,特别是在低级别的系统编程、硬件控制和高性能计算中。 左移操作符()将一个数的二进制表示向左移动指定的位数。每移动一位,相当于原数值...

    双灯左移右移流水灯

    适合初学者的用c语言编的双灯左移右移流水灯

    用js实现右移

    这个示例代码是用JavaScript实现了一个基本的双列表选择功能,允许用户从左侧列表("left_")选择一项或多项,然后点击“右移”按钮将其移动到右侧列表("right_")。同样,用户也可以从右侧列表选择一项或多项,...

    单片机广告灯的左移右移

    本文将深入探讨如何利用单片机实现广告灯的左移右移效果,通过对硬件电路的搭建以及软件编程的分析,详细阐述这一技术的实现过程。 首先,从硬件角度出发,实现广告灯左移右移功能的电路较为简单。以AT89X51单片机...

    易语言汇编实现左移右移模块源码.zip

    在这个"易语言汇编实现左移右移模块源码.zip"压缩包中,包含的是一组用易语言编写的汇编语言模块,用于实现数据的逻辑左移和右移操作。这两个操作在计算机科学中是非常基础且重要的。 左移和右移是二进制算术运算,...

    基于51单片机的广告灯左移右移仿真

    这个项目"基于51单片机的广告灯左移右移仿真"旨在实现一个动态显示效果,使得灯光能够在广告板上按照预设模式移动,如左右交替移动,为广告增添视觉吸引力。 51单片机是Intel公司的8051系列的一种,它拥有8位数据...

    广告灯的左移右移

    单片机原理及接口技术;广告灯的左移右移,(取表方式)

    易语言汇编实现左移右移模块源码

    通过阅读和分析这个文件,我们可以深入了解易语言如何在汇编层面实现左移和右移操作,以及如何将这些操作集成到易语言程序中。源码中可能会包括对寄存器的使用、指令序列的选择以及如何与易语言的高级语法交互等细节...

    易语言汇编实现左移右移模块源码.zip易语言项目例子源码下载

    易语言汇编实现左移右移模块源码.zip易语言项目例子源码下载易语言汇编实现左移右移模块源码.zip易语言项目例子源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.适合小团队开发项目参考

Global site tag (gtag.js) - Google Analytics