基于javascript实现单选及多选的向右和向左移动实例


Posted in Javascript onJuly 25, 2015

本文实例讲述了基于javascript实现单选及多选的向右和向左移动实例。分享给大家供大家参考。具体实现方法如下:

方法 一:

<body>
<h1>实现单选及多选的向右和向左移动</h1>
<div id="lst">
  <span>
  <select id="lselect" size="10" multiple="multiple" style="width: 100px; background-color:blue;">
  <option>选项1</option>
  <option>选项2</option>
  <option>选项3</option>
  <option>选项4</option>
  <option>选项5</option>
  <option>选项6</option>
  <option>选项7</option>
  <option>选项8</option>
  <option>选项9</option>
  <option>选项10</option>
  </select>
  <span style="width: 200px;height: 100px;">
  <input type="button" value="单个向右移动" onclick="oneRMove()" />
  <input type="button" value="多个向右移动" onclick="moveRMove()" />
  <input type="button" value="单个向左移动" onclick="oneLMove()" />
  <input type="button" value="多个向左移动" onclick="moveLMove()" />
  </span>
  <span>
  <select id="rselect" size="10" style="width: 100px;background-color: yellow;" multiple="multiple">
  </select>
  </span>
  </span>
</div> 
</body>
<script type="text/javascript">
window.onload = function(){}
//获取select对象
var lselect=document.getElementById("lselect");
var rselect=document.getElementById("rselect");
//获取lselect和roptions对象中的所有option
var loptions=lselect.options;
var roptions=rselect.options;
function oneRMove(){
for(var i=0;i<loptions.length;i++){
var op=loptions[i];
if(op.selected){
rselect.appendChild(op);
break;
}
}
}
function moveRMove(){
for(var i=0;i<loptions.length;i++){
var op=loptions[i];
if(op.selected){
rselect.appendChild(op);
i--;
}
}
}
function oneLMove(){
for(var i=0;i<roptions.length;i++){
var op=roptions[i];
if(op.selected){
lselect.appendChild(op);
break;
}
}
}
function moveLMove(){
for(var i=0;i<roptions.length;i++){
var op=roptions[i];
if(op.selected){
lselect.appendChild(op);
i--;
}
}
}
</script>

方法 二:

<script type="text/javascript">
sortitems = 1;
function move(fbox,tbox) {
for(var i=0; i<fbox.options.length; i++) {
if(fbox.options[i].selected && fbox.options[i].value != "") {
var no = new Option();
no.value = fbox.options[i].value;
no.text = fbox.options[i].text;
tbox.options[tbox.options.length] = no;
fbox.options[i].value = "";
fbox.options[i].text = "";
  }
}
BumpUp(fbox);
if (sortitems) SortD(tbox);
}
function BumpUp(box) {
for(var i=0; i<box.options.length; i++) {
if(box.options[i].value == "") {
for(var j=i; j<box.options.length-1; j++) {
box.options[j].value = box.options[j+1].value;
box.options[j].text = box.options[j+1].text;
}
var ln = i;break;
  }
}
if(ln < box.options.length) {
box.options.length -= 1;
BumpUp(box);
  }
}
function SortD(box) {
var temp_opts = new Array();         
var temp = new Object();           
for(var i=0; i<box.options.length; i++) { 
temp_opts[i] = box.options[i];
}
for(var x=0; x<temp_opts.length-1; x++) {
for(var y=(x+1); y<temp_opts.length; y++) {
if(temp_opts[x].text > temp_opts[y].text) {
temp = temp_opts[x].text;
temp_opts[x].text = temp_opts[y].text;
temp_opts[y].text = temp;
temp = temp_opts[x].value;
temp_opts[x].value = temp_opts[y].value;
temp_opts[y].value = temp;
   }
  }
}
for(var i=0; i<box.options.length; i++) {
box.options[i].value = temp_opts[i].value;
box.options[i].text = temp_opts[i].text;
  }
}
</script>
</head>
<body>
<form ACTION="" METHOD="POST">
<table border="0">
<tr>
<td><select multiple size="5" name="list1">
<option value="l1">A</option>
<option value="l2">B </option>
<option value="l3">C</option>
<option value="l4">D</option>
</select></td>
<td>
<input type="button" value="向右" onclick="move(this.form.list1,this.form.list2)" name="B1"><br>
<input type="button" value="向左" onclick="move(this.form.list2,this.form.list1)" name="B2">
</td>
<td><select multiple size="5" name="list2">
<option value="r1">E</option>
<option value="r2">F </option>
<option value="r3">G</option>
<option value="r4">H</option>
</select></td>
</tr>
</table>
</form>
</body>

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

Javascript 相关文章推荐
jquery ajax执行后台方法
Mar 18 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
Jul 31 Javascript
jquery中filter方法用法实例分析
Feb 06 Javascript
js实现Select下拉框具有输入功能的方法
Feb 06 Javascript
JavaScript随机生成信用卡卡号的方法
Apr 07 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
Sep 08 Javascript
jQuery封装的屏幕居中提示信息代码
Jun 08 Javascript
IONIC自定义subheader的最佳解决方案
Sep 22 Javascript
vue.js国际化 vue-i18n插件的使用详解
Jul 07 Javascript
解决vue router组件状态刷新消失的问题
Aug 01 Javascript
基于JavaScript伪随机正态分布代码实例
Nov 07 Javascript
vue cli4中mockjs在dev环境和build环境的配置详情
Apr 06 Vue.js
javascript实现信息增删改查的方法
Jul 25 #Javascript
jQuery菜单插件用法实例
Jul 25 #Javascript
javascript单例模式的简单实现方法
Jul 25 #Javascript
JavaScript类继承及实例化的方法
Jul 25 #Javascript
JavaScript对Cookie进行读写操作实例
Jul 25 #Javascript
javascript去掉代码里面的注释
Jul 24 #Javascript
Jquery简单分页实现方法
Jul 24 #Javascript
You might like
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
洪恩在线成语词典小偷程序php版
2012/04/20 PHP
Function eregi is deprecated (解决方法)
2013/06/21 PHP
destoon实现资讯信息前面调用它所属分类的方法
2014/07/15 PHP
php实现在限定区域里自动调整字体大小的类实例
2015/04/02 PHP
document对象execCommand的command参数介绍
2006/08/01 Javascript
Prototype使用指南之range.js
2007/01/10 Javascript
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
Javascript this关键字使用分析
2008/10/21 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
js打开新窗口方法整理
2014/02/17 Javascript
影响jQuery使用的14个方面
2014/09/01 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
jQuery弹出遮罩层效果完整示例
2016/09/13 Javascript
浅谈struts1 &amp; jquery form 文件异步上传
2017/05/25 jQuery
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
go和python变量赋值遇到的一个问题
2017/08/31 Python
python删除过期log文件操作实例解析
2018/01/31 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
Python3实现定时任务的四种方式
2019/06/03 Python
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
新员工培训个人的自我评价
2013/10/09 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
2015年教师节主持词
2015/07/03 职场文书
技能培训通讯稿
2015/07/18 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
教师网络培训心得体会
2016/01/09 职场文书
导游词之河北邯郸
2019/09/12 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸