小黄练编程 发表于 2022-3-30 18:03:58

我这下面哪里出错了,目的想实现全选框的功能

本帖最后由 小黄练编程 于 2022-3-30 18:05 编辑


       
        <body>
                <table id='tb'>
                        <tr>
                                <th><input id='one' name="check" type="checkbox">全选</th>
                                <th>商品</th>
                                <th>价钱</th>
                        </tr>
                        <tr>
                                <td><inputname="check" type="checkbox"></td>
                                <td>iphone8</td>
                                <td>9000</td>
                        </tr>
                        <tr>
                                <td><inputname="check" type="checkbox"></td>
                                <td>iphone8</td>
                                <td>9000</td>
                        </tr>
                        <tr>
                                <td><inputname="check" type="checkbox"></td>
                                <td>iphone8</td>
                                <td>9000</td>
                        </tr>
                        <script>
                        var input=document.getElementById('tb').getElementsByTagName('input');
                        var one=document.getElementById('one');
                          one.onclick=function(){
                                        for(var i=0;i<input.length;i++){
                                                console.log(this.checked);
                                                input.checked=this.checked;
                                        }
                        }
                        for( var i=0;i<input.length;i++){
                                input.onclick=function(){
                                        var flag=true;
                                       
                                        for(var i=0;i<input.length;i++){
                                                if(input.checked===false){
                                                        flag=false;
                                                }
                                        }
                                        one.checked=flag;
                                }
                               
                        }
                   </script>
</body>
                       

ba21 发表于 2022-3-30 18:15:16

把 全选 这个check跳过。 i=1。当然你也可以用别的方法判断跳过

小黄练编程 发表于 2022-3-30 19:53:17

ba21 发表于 2022-3-30 18:15
把 全选 这个check跳过。 i=1。当然你也可以用别的方法判断跳过

呜呼,解决了,抱大腿,{:5_100:}

小黄练编程 发表于 2022-3-30 20:06:09

本帖最后由 小黄练编程 于 2022-3-30 20:07 编辑

ba21 发表于 2022-3-30 18:15
把 全选 这个check跳过。 i=1。当然你也可以用别的方法判断跳过

        var li=document.getElementsByTagName('li');
                for(var i=0;i<li.length;i++){
                        li.onclick=function(){
                        for(var i=0;i<li.length;i++)
                        {
                                li.style.backgroundColor='';
                        }
                        this.style.backgroundColor='pink';
                }
        }
我又碰到个小问题,为何这里的this改为li【i】会报错啊,是不是哪里不规范???

ba21 发表于 2022-3-30 20:09:53

小黄练编程 发表于 2022-3-30 20:06


这不明摆了,不在一个作用域

小黄练编程 发表于 2022-3-30 20:29:39

ba21 发表于 2022-3-30 20:09
这不明摆了,不在一个作用域

咋个不在啊?为啥上面那个li有用?

ba21 发表于 2022-3-30 20:31:06

小黄练编程 发表于 2022-3-30 20:29
咋个不在啊?为啥上面那个li有用?

有问题 请新开贴。谢谢

小黄练编程 发表于 2022-3-30 20:33:03

ba21 发表于 2022-3-30 20:31
有问题 请新开贴。谢谢

得勒,开了

小黄练编程 发表于 2022-3-30 20:40:07

ba21 发表于 2022-3-30 20:09
这不明摆了,不在一个作用域

怪不得我把最后this改为li【i】中的i改为别的字母a,外层for循环的i统统改成a也没用,该函数里的for里的i没改,原来如此,如果我就想用li【i】不用this,咋办。咋解决。
页: [1]
查看完整版本: 我这下面哪里出错了,目的想实现全选框的功能