js案例之全选与下拉列表左右选择

1、js案例之全选
做出如图所示的选择功能
全选案例效果
body内代码

<div id="select">
        <input type="checkbox" id="box1" onclick="selectAllNo();"/>全选/全不选
        <br>
        <input type="checkbox" name="love"/>basketball
        <input type="checkbox" name="love"/>baseball
        <br>
        <input type="button" value="全选" onclick="selectAll();"/>
        <input type="button" value="全不选" onclick="selectNo();"/>
        <input type="button" value="反选" onclick="selectOther();"/>
    </div>

js代码

    <script type="text/javascript">
        //全选
        function selectAll(){
            var input1 = document.getElementsByName("love");
            for(var i = 0;i<input1.length;i++){
                input1[i].checked = true;
            }
        }
        //全不选
        function selectNo(){
            var input1 = document.getElementsByName("love");
            for(var i = 0;i<input1.length;i++){
                input1[i].checked = false;
            }
        }
        //反选
        function selectOther(){
            var input1 = document.getElementsByName("love");
            for(var i = 0;i<input1.length;i++){
                input1[i].checked = (!input1[i].checked);
            }
        }
        //切换全选/全不选 复选框
        function selectAllNo() {
            var input1 = document.getElementById("box1");
            if(input1.checked===true) {
               selectAll();
            }
            else{
                selectNo();
            }
        }
    </script> 

2、js案例之下拉列表左右选择
列表互换
下拉选择框

<select><option>1111</option></select>

选中添加到右边

1、获取select1里面的option(getElementByTagName)
2、得到select2
3、遍历option,判断option是否被选中
4、如果选中,使用appendChild把选择的添加到右边 

全部添加到右边

1、获取select1里面的option
2、得到select2
3、遍历option使用appendChild方法添加到select2下面

body内代码

<div style="display:inline-block;width:120px;">
        <select id="select1" multiple="multiple" style="width:100px;height: 200px;">
            <option>
                1111
            </option>
            <option>
                2222
            </option>
            <option>
                3333
            </option>
        </select>
        <div>
            <input type="button" value="选中添加到右边" onclick="selToRight();"/>
            <input type="button" value="全部添加到右边" onclick="allToRight();"/>
        </div>
    </div>

    <div style="width:120px;display: inline-block">
        <select id="select2" multiple="multiple" style="width:100px;height: 200px;">
            <option>
                4444
            </option>
            <option>
                5555
            </option>
            <option>
                6666
            </option>
        </select>
        <div>
            <input type="button" value="选中添加到左边" onclick="selToLeft();"/>
            <input type="button" value="全部添加到左边" onclick="allToLeft();"/>
        </div>
    </div>

js代码

    <script type="text/javascript">
        function selToRight() {
            //获取select1里面的option
            var sel1 = document.getElementById("select1");
            var opts = sel1.getElementsByTagName("option");
            //判断是否被选中 如果是选中使用appendChild添加到右边去
            var sel2 = document.getElementById("select2");
            for(var i = 0;i<opts.length;i++){
                if(opts[i].selected===true){
                    var opt = opts[i];
                    sel2.appendChild(opt);
                    i--;//appendChild让数组长度变短
                }
            }
        }

        function allToRight() {
            //获取select1里面的option
            var sel1 = document.getElementById("select1");
            var opts = sel1.getElementsByTagName("option");
            //使用appendChild添加到右边去
            var sel2 = document.getElementById("select2");
            var len = opts.length;
            for(var i = 0;i<len;i++){
                var opt = opts[0];
                sel2.appendChild(opt);
            }
        }

        function selToLeft() {
            //获取select2里面的option
            var sel2 = document.getElementById("select2");
            var opts = sel2.getElementsByTagName("option");
            //判断是否被选中 如果是选中使用appendChild添加到右边去
            var sel1 = document.getElementById("select1");
            for(var i = 0;i<opts.length;i++){
                if(opts[i].selected===true){
                    var opt = opts[i];
                    sel1.appendChild(opt);
                    i--;//appendChild让数组长度变短
                }
            }
        }

        function allToLeft() {
            //获取select2里面的option
            var sel2 = document.getElementById("select2");
            var opts = sel2.getElementsByTagName("option");
            //判断是否被选中 如果是选中使用appendChild添加到右边去
            var sel1 = document.getElementById("select1");
            var len = opts.length;
            for(var i = 0;i<len;i++){
                    var opt = opts[0];
                    sel1.appendChild(opt);
            }

        }
    </script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值