基于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 相关文章推荐
获取当前网页document.url location.href区别总结
May 10 Javascript
JS记录用户登录次数实现代码
Jan 15 Javascript
JavaScript程序员应该知道的45个实用技巧
Mar 04 Javascript
通过url查找a元素应用案例
Apr 29 Javascript
深入理解javascript构造函数和原型对象
Sep 23 Javascript
酷炫jQuery全屏3D焦点图动画效果
Mar 22 Javascript
JavaScript中的冒泡排序法
Aug 03 Javascript
详解webpack自动生成html页面
Jun 29 Javascript
iscroll实现下拉刷新功能
Jul 18 Javascript
angularJs中$scope数据序列化的实例
Sep 30 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
Apr 04 jQuery
谈一谈vue请求数据放在created好还是mounted里好
Jul 27 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
php 生成唯一id的几种解决方法
2013/03/08 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
php生成微信红包数组的方法
2019/09/05 PHP
基于jquery的15款幻灯片插件
2011/04/10 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
基于JavaScript实现智能右键菜单
2016/03/02 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
利用Vue v-model实现一个自定义的表单组件
2017/04/27 Javascript
node.js 抓取代理ip实例代码
2017/04/30 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
python中关于日期时间处理的问答集锦
2013/03/08 Python
Python运算符重载用法实例分析
2015/06/01 Python
Django入门使用示例
2017/12/12 Python
python如何通过实例方法名字调用方法
2018/03/21 Python
详解pandas删除缺失数据(pd.dropna()方法)
2019/06/25 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
python爬虫工具例举说明
2020/11/30 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
高级3D打印市场:Gambody
2019/12/26 全球购物
生产副总岗位职责
2013/11/28 职场文书
工作中个人的自我评价
2013/12/31 职场文书
医药专业应届毕业生求职信范文
2014/01/01 职场文书
留学顾问岗位职责
2014/04/14 职场文书
三分钟英语演讲稿
2014/04/24 职场文书
幼儿园个人总结
2015/02/28 职场文书
职工培训工作总结
2015/08/10 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
Python数据处理的三个实用技巧分享
2022/04/01 Python