asp net html.dropdownlist viewdata 指定选中项_前端Javascript 复选按钮删除所有项,只删除一半的几种解决办法! - 前小端...

a9cb74993020933433df15ba13f75da8.png

本来选好的所有删除,但是结果会保留一半,接着点击删除,又是保留一半,直到删除所有。

解决办法:

第一种: 在循环体中,最后加入一条代码,i--,如下

  dele.onclick = function () {                      // 点击事件
                    for (j = 0; j < allbox.length; j++) {         //循环 j


                        if (allbox[j].checked == true) {          //条件判断,如果全款按钮选中,则所有复选框选中
                          
                            allbox[j].()      //被选中的按钮其父元素的父元素被删除
                            j--                                    //j--  使j从新开始循环
                           

                        }
                    
                    }
                }

完美解决保留一半的问题,原因在于这个循环不是选中所有,而是因为用的remove删除节点,导致下面元素下标发生 变化,所以循环无法全部选中,而是跳棋一样删除

第二种:  不适用remove(),改成用'none'

这样不会产生下标变化的问题,所以循环正常

第三种,条件选择if,如果全选按钮选中,则删除这些tr的父元素,tbody,这样也会解决问题

第四种,将所有选中的元素,挑选出来,放在一个数组中,再进行删除,避免该问题。

一定还有很多其他办法,欢迎大家补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值