基于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的cookie插件
Apr 07 Javascript
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
Jun 18 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
Nov 26 Javascript
js中iframe调用父页面的方法
Oct 30 Javascript
JavaScript组件开发完整示例
Dec 15 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
Sep 21 Javascript
浅析如何利用JavaScript进行语音识别
Oct 27 Javascript
switchery按钮的使用方法
Dec 18 Javascript
详解vscode中vue代码颜色插件
Oct 11 Javascript
微信小程序实现购物页面左右联动
Feb 15 Javascript
vue实现瀑布流组件滑动加载更多
Mar 10 Javascript
vue实现输入框自动跳转功能
May 20 Javascript
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
收音机的保养
2021/03/01 无线电
Yii框架组件和事件行为管理详解
2016/05/20 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
2013/10/11 Javascript
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
javascript实现简单的进度条
2015/07/02 Javascript
javascript动画算法实例分析
2015/07/31 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
springmvc接收jquery提交的数组数据代码分享
2017/10/28 jQuery
值得收藏的vuejs安装教程
2017/11/21 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
2018/04/04 Javascript
JS canvas绘制五子棋的棋盘
2020/05/28 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
Python3 元组tuple入门基础
2020/02/09 Python
Keras在训练期间可视化训练误差和测试误差实例
2020/06/16 Python
h5调用摄像头的实现方法
2016/06/01 HTML / CSS
实习自我评价怎么写
2013/12/02 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
团日活动总结怎么写
2014/06/25 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
2014年社区妇联工作总结
2014/12/02 职场文书
数学教师个人总结
2015/02/06 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL