zoukankan      html  css  js  c++  java
  • js实现-下拉列表左右选择

    下拉列表左右选择
              * 下拉选择框
                   <select>
                         <option>111</option>
                         <option>111</option>
                   </select>

              * 创建一个页面
                       ** 两个下拉选择框
                         - 设置属性 multiple属性
                       ** 四个按钮,有事件
                          * 选中添加到右边
                                步骤
                                 /*
                                     1、获取select1里面的option
                                          - getElementsByTagName()返回是数组
                                          - 遍历数组,得到每一个option
                                     2、判断option是否被选中
                                          - 属性 selected,判断是否被选中
                                               ** selected= true: 选中
                                               ** selected= false:没有选择
                                     3、如果是选中,把选择的添加到右边去
                                     4、得到select2
                                     4、添加选择的部分
                                          - appendChild方法
                                   */

                        * 全部添加到右边
                                步骤
                                   /*
                                    1、获取第一个select下面的option对象
                                    2、返回数组,遍历数组
                                    3、得到每一个option对象
                                    4、得到select2
                                    5、添加到select2下面
                                         - appendChild方法
                                   */

                      * 选中添加到左边
                              步骤
                                /*
                                   1、获取select2里面的option对象
                                   2、返回是数组,遍历数组
                                   3、得到每一个option对象
                                   4、判断option是否被选中
                                        - if条件 属性 selected == true:选择
                                   5、获取select1
                                   6、添加到select1里面
                                         - 使用appendChild方法
                               */

                    * 全部添加到左边
                            步骤
                              /*
                                  1、获取select2里面的option对象
                                  2、返回是数组,遍历数组
                                  3、得到每一个option对象

                                  4、获取到select1
                                  5、添加到select1里面
                                       - 使用appendChild方法
                             */

    <body>
        
    <div id="s1" style="float:left;">
            <div>
        <select id="select1" multiple="multiple" style="100px;height:100px;">
            <option>AAAAAAAA</option>
            <option>BBBBBBBB</option>
            <option>CCCCCCCC</option>
            <option>DDDDDDDD</option>
            <option>EEEEEEEE</option>
        </select>
        </div>
    
    
        <div>
        <input type="button" value="选中添加到右边" onclick="selToRight();"/><br/>
        <input type="button" value="全部添加到右边" onclick="allToRight();"/>
        </div>
    </div>
    
    <div id="s2">
            <div>
        <select id="select2" multiple="multiple" style="100px;height:100px;">
            <option>QQQQQQQQ</option>
        </select>
        </div>
    
        <div>
        <input type="button" value="选中添加到左边" onclick="selToLeft();"/><br/>
        <input type="button" value="全部添加到左边" onclick="allToLeft();"/>
        </div>
    </div>
    
        <script type="text/javascript">
    
            //实现全部添加到左边
            function allToLeft() {
                /*
                    1、获取select2里面的option对象
                    2、返回是数组,遍历数组
                    3、得到每一个option对象
    
                    4、获取到select1
                    5、添加到select1里面
                        - 使用appendChild方法
                */
                //获取select2
                var select2 = document.getElementById("select2");
                //获取select1
                var select1 = document.getElementById("select1");
                //获取select2里面的option
                var options1 = select2.getElementsByTagName("option");
                //遍历数组
                for(var m=0;m<options1.length;m++){
                    //得到每一个option
                    var op11 = options1[m];
                    //添加到select1里面
                    select1.appendChild(op11);
                    m--;
                }
            }
    
            //选择添加到左边
            function selToLeft() {
                /*
                    1、获取select2里面的option对象
                    2、返回是数组,遍历数组
                    3、得到每一个option对象
                    4、判断option是否被选中
                        - if条件 属性 selected == true:选择
                    5、获取select1
                    6、添加到select1里面
                        - 使用appendChild方法
                */
                //获取select1
                var s1 = document.getElementById("select1");
                //获取到select2
                var s2 = document.getElementById("select2");
                //得到s1里面的option对象
                var opss = s2.getElementsByTagName("option");
                //遍历数组
                for(var aa=0;aa<opss.length;aa++) {
                    //得到每一个option
                    var op = opss[aa];
                    //判断是否被选中
                    if(op.selected == true) { //被选中
                        //添加到select1里面
                        s1.appendChild(op);
                        aa--;
                    }
                }
            }
    
            //全部添加到右边
            function allToRight() {
                /*
                    1、获取第一个select下面的option对象
                    2、返回数组,遍历数组
                    3、得到每一个option对象
                    4、得到select2
                    5、添加到select2下面
                        - appendChild方法
                */
                //得到select2
                var s2 = document.getElementById("select2");
                //得到select下面的option对象
                var s1 = document.getElementById("select1");
                var ops = s1.getElementsByTagName("option");//返回的是数组
                //遍历数组
                for(var j=0;j<ops.length;j++) {
                    //得到每一个option对象
                    var op1 = ops[j];
                    //添加option到s2下面
                    s2.appendChild(op1);
                    j--;
                }
            }
    
            //实现选中添加到右边
            function selToRight() {
            
                /*
                    1、获取select1里面的option
                        - getElementsByTagName()返回是数组
                        - 遍历数组,得到每一个option
                    2、判断option是否被选中
                        - 属性 selected,判断是否被选中
                            ** selected= true: 选中
                            ** selected= false:没有选择
                    3、如果是选中,把选择的添加到右边去
                    4、得到select2
                    4、添加选择的部分
                        - appendChild方法
                */
                //获取select1里面的option
                //获取select2
                 var select2 = document.getElementById("select2");
                //得到select1
                var select1 = document.getElementById("select1");
                //得到option
                var options1 = select1.getElementsByTagName("option");
                
                //遍历数组
                for(var i=0;i<options1.length;i++) {
                    var option1 = options1[i];//得到每一个option对象
                    //判断是否被选中
                    if(option1.selected == true) {
                        //添加到select2里面
                        
                        select2.appendChild(option1);
                        i--;
                        
                    }
                }
    
            }
            
        </script>
    
     </body>
  • 相关阅读:
    cshtml 中的 AppState = Context.Application 和 控制器中的 Application 也相等
    HangFire快速入门 分布式后端作业调度框架服务
    用RSA加密实现Web登录密码加密传输
    c# MD5及盐值加密
    CentOS目录结构超详细版
    两篇文章带你走入.NET Core 世界:CentOS+Kestrel+Ngnix 虚拟机先走一遍(一)
    利用js实现 禁用浏览器后退
    在.Net Core WebAPI下给Swagger增加导出离线文档功能
    mysql 数据库扫描行数
    EFCore+Mysql仓储层建设(分页、多字段排序、部分字段更新)
  • 原文地址:https://www.cnblogs.com/sunli0205/p/6010019.html
Copyright © 2011-2022 走看看