基于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 相关文章推荐
网页中CDATA标记的说明
Sep 12 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
Feb 02 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
Apr 24 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
Nov 07 Javascript
js图片模糊切换显示特效的方法
Feb 17 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
Dec 04 Javascript
js点击按钮实现带遮罩层的弹出视频效果
Dec 19 Javascript
javascript实现禁止复制网页内容汇总
Dec 30 Javascript
理解Javascript图片预加载
Feb 23 Javascript
JQuery核心函数是什么及使用方法介绍
May 03 Javascript
Vue.Js中的$watch()方法总结
Mar 23 Javascript
Vue如何实现组件间通信
May 15 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
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
php比较相似字符串的方法
2015/06/05 PHP
Ajax+PHP实现的分类列表框功能示例
2019/02/11 PHP
js实现表格字段排序
2014/02/19 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
jQuery实现html元素拖拽
2015/07/21 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
浅谈React的最大亮点之虚拟DOM
2018/05/29 Javascript
详解AngularJS 过滤器的使用
2018/06/02 Javascript
JavaScript常见JSON操作实例分析
2018/08/08 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
RC4文件加密的python实现方法
2015/06/30 Python
python中实现k-means聚类算法详解
2017/11/11 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
Python根据成绩分析系统浅析
2019/02/11 Python
python每5分钟从kafka中提取数据的例子
2019/12/23 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
茶叶生产计划书
2014/01/10 职场文书
回门宴父母答谢词
2014/01/26 职场文书
记帐员岗位责任制
2014/02/08 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
三八活动策划方案
2014/08/17 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
护士年终个人总结
2015/02/13 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
导游词之桂林
2019/08/20 职场文书