JS控制下拉列表左右选择实例代码


Posted in Javascript onMay 08, 2020

使用JS控制下拉列表左右选择

需求分析

在我们的分类管理中,我们要能够去修改我们的分类信息,当我们一点修改的时候,跳转到一个可以编辑的页面,这里面能够修改分类的名称,分类的描述,以及分类的商品

技术分析

ondblclick="selectOne()":双击事件

select标签的属性multiple="multiple":

代码实现

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--
步骤分析
1. 确定事件: 点击事件 :onclick事件
2. 事件要触发函数 selectOne
3. selectOne要做一些操作
(将左边选中的元素移动到右边的select中)
1. 获取左边Select中被选中的元素
2. 将选中的元素添加到右边的Select中就可以
-->
<script>
function selectOne(){
//1. 获取左边Select中被选中的元素
var leftSelect = document.getElementById("leftSelect");
var options = leftSelect.options;
//找到右侧的Select
var rightSelect = document.getElementById("rightSelect");
//遍历找出被选中的option
for(var i=0; i < options.length; i++){
var option1 = options[i];
if(option1.selected){
//2. 将选中的元素添加到右边的Select中就可以
rightSelect.appendChild(option1);
}
}
}
//将左边所有的商品移动到右边
function selectAll(){
//1. 获取左边Select中被选中的元素
var leftSelect = document.getElementById("leftSelect");
var options = leftSelect.options;
//找到右侧的Select
var rightSelect = document.getElementById("rightSelect");
//遍历找出被选中的option
for(var i=options.length - 1; i >=0; i--){
var option1 = options[i];
rightSelect.appendChild(option1);
}
}
</script>
</head>
<body>
<table border="1px" width="400px">
<tr>
<td>分类名称</td>
<td><input type="text" value="手机数码"/></td>
</tr>
<tr>
<td>分类描述</td>
<td><input type="text" value="这里面都是手机数码"/></td>
</tr>
<tr>
<td>分类商品</td>
<td>
<!--左边-->
<div style="float: left;">
已有商品<br />
<select multiple="multiple" id="leftSelect" ondblclick="selectOne()">
<option>华为</option>
<option>小米</option>
<option>锤子</option>
<option>oppo</option>
</select>
<br />
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="selectOne()"> >> </a> <br />
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="selectAll()"> >>> </a>
</div>
<!--右边-->
<div style="float: right;"> 
未有商品<br />
<select multiple="multiple" id="rightSelect">
<option>苹果6</option>
<option>肾7</option>
<option>诺基亚</option>
<option>波导</option>
</select>
<br />
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" > << </a> <br />
<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" > <<< </a>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交"/>
</td>
</tr>
</table>
</body>
</html>

实例补充:

<!DOCTYPE html>
<html>
 <head>
  <title>JavaScript下拉列表左右选择</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <script type="text/javascript" >
    function chooseToRight()
    {
      var op=document.getElementById("s1").getElementsByTagName("option");
      var select2=document.getElementById("s2");
      var k=op.length;
      for(var i=0;i<k;i++)
      {
        if(op[i].selected==true) 
        {
          select2.appendChild(op[i]);
          k--;i--;      //这里要特别注意!!!因为appendChild相当于剪切,所以每次循环之后要执行k--,i--
        }
      }
    }
    function chooseToLeft()
    {
      var op=document.getElementById("s2").getElementsByTagName("option");
      var select2=document.getElementById("s1");
      var k=op.length;
      for(var i=0;i<k;i++)
      {
        if(op[i].selected==true) 
        {
          select2.appendChild(op[i]);
          k--;i--;
        }
      }
    }
    function allToLeft()
    {
      var op=document.getElementById("s2").getElementsByTagName("option");
      var select2=document.getElementById("s1");
      var k=op.length;
      for(var i=0;i<k;i++)
      {
        select2.appendChild(op[i]);
        k--;i--;
      }
    }
    function allToRight()
    {
      var op=document.getElementById("s1").getElementsByTagName("option");
      var select2=document.getElementById("s2");
      var k=op.length;
      for(var i=0;i<k;i++)
      {
        select2.appendChild(op[i]);
        k--;i--;
      }
    }
  </script>
 </head>
 <body>
 <div style="float: left">
   <select id="s1" multiple="multiple" style="width: 120px;height: 150px">
     <option>AAAAAAA</option>
     <option>BBBBBBB</option>
     <option>CCCCCCC</option>
     <option>DDDDDDD</option>
     <option>EEEEEEE</option>
   </select><br><br>
   <input type="button" value="选中添加到右边" onclick="chooseToRight();"/><br><br>
   <input type="button" value="全部添加到右边" onclick="allToRight();"/><br>
 </div>
 <div style="float: left">
   <select id="s2" multiple="multiple" style="width: 120px;height: 150px">
     <option>1111111</option>
     <option>2222222</option>
     <option>3333333</option>
     <option>4444444</option>
     <option>5555555</option>
   </select><br><br>
   <input type="button" value="选中添加到左边" onclick="chooseToLeft();"/><br><br>
   <input type="button" value="全部添加到左边" onclick="allToLeft();"/><br>
 </div>
 </body>
</html>

到此这篇关于JS控制下拉列表左右选择实例代码的文章就介绍到这了,更多相关如何使用JS控制下拉列表左右选择内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JS+CSS设置img在DIV中只显示Img垂直居中的部分
Oct 24 Javascript
jquery事件重复绑定的快速解决方法
Jan 03 Javascript
javascript中mouseover、mouseout使用详解
Jul 19 Javascript
javascript中$(function() {});写与不写有哪些区别
Aug 10 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
Nov 07 Javascript
教你快速搭建Node.Js服务器的方法教程
Mar 30 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
Apr 13 Javascript
微信小程序搜索组件wxSearch实例详解
Jun 08 Javascript
如何使用less实现随机下雪动画详解
Jan 02 Javascript
layui点击弹框页面 表单请求的方法
Sep 21 Javascript
优雅的使用javascript递归画一棵结构树示例代码
Sep 22 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
Jan 11 Javascript
VSCode搭建React Native环境
May 07 #Javascript
Javascript查看大图功能代码实现
May 07 #Javascript
用VsCode编辑TypeScript的实现方法
May 07 #Javascript
JavaScript交换变量的常用方法小结【4种方法】
May 07 #Javascript
原生JavaScript创建不可变对象的方法简单示例
May 07 #Javascript
Javascript幻灯片播放功能实现过程解析
May 07 #Javascript
基于javascript实现日历功能原理及代码实例
May 07 #Javascript
You might like
PHP中cookie和session的区别实例分析
2014/08/28 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
laravel 模型查询按照whereIn排序的示例
2019/10/16 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
js实现按钮控制图片360度翻转特效的方法
2015/02/17 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
JavaScript数组复制详解
2017/02/02 Javascript
jQuery实现简单的滑动导航代码(移动端)
2017/05/22 jQuery
Jquery中attr与prop的区别详解
2017/05/27 jQuery
详解如何提高 webpack 构建 Vue 项目的速度
2017/07/03 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
微信小程序选择图片控件
2021/01/19 Javascript
Python实现简易过滤删除数字的方法小结
2019/01/09 Python
python3多线程知识点总结
2019/09/26 Python
Python中的list与tuple集合区别解析
2019/10/12 Python
Python嵌套函数,作用域与偏函数用法实例分析
2019/12/26 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
2020/09/29 Python
python 两种方法删除空文件夹
2020/09/29 Python
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
W Concept美国:精选全球独立设计师
2017/02/22 全球购物
建筑项目策划书
2014/01/13 职场文书
商务助理求职信范文
2014/04/20 职场文书
物资采购方案
2014/06/12 职场文书
社会体育专业大学生职业生涯规划书
2014/09/17 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
同事欢送会致辞
2015/07/31 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python
Python正则表达式中flags参数的实例详解
2022/04/01 Python