Ense 2018-11-13 08:34 采纳率: 33.3%
浏览 344

h5页面拖动table时复选框checked会重叠的问题

先看页面
图片说明

只显示10条数据,右边不出现滚动条,勾选正常

当选择显示20条数据时:
图片说明

此时滚动条没有滚动过,左边的勾选框checked勾选正常

当滚动滚动条时,此时异常就出现了:
图片说明

鼠标放置的地方却根据滚动距离往上移动了,可能是滚动条滚动了。但是checkedbox复选框却没有跟着一起滚动,下面贴代码:
图片说明

这是复选框的代码,是根据foreach中的List的数量自动循环的复选框,下面贴整个table的代码:
![图片说明!

图2

图片说明

图3

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 08:03
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题涉及到JavaScript和HTML的复杂性,以及如何处理表格中复选框的状态变化。要解决这个问题,我们可以使用事件监听器来追踪复选框的状态变化,并在滚动条滚动时更新复选框的状态。

    首先,在HTML中创建复选框和表格:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Table with Checkbox and Scroll</title>
        <style>
            tr td {
                width: 30px;
            }
        </style>
    </head>
    <body>
        <div id="scrollableArea"></div>
    
        <!-- JavaScript code -->
        <script>
            function handleScroll() {
                // 获取所有复选框
                const checkboxes = document.querySelectorAll('input[type="checkbox"]');
                
                // 遍历每个复选框
                for (const checkbox of checkboxes) {
                    // 当复选框被选中或取消选中时,触发事件
                    if (checkbox.checked) {
                        console.log("Checkbox is checked");
                    } else {
                        console.log("Checkbox is unchecked");
                    }
                }
            }
    
            window.addEventListener("scroll", handleScroll);
        </script>
    </body>
    </html>
    

    在这个示例中,我们使用JavaScript来跟踪复选框的状态变化,并在滚动条滚动时更新这些状态。当复选框被选中或取消选中时,我们打印出相应的消息。

    请注意,这只是一个基本的例子,实际应用中可能需要更复杂的逻辑来处理复选框的状态变化。例如,你可能需要处理多个复选框或者复选框组,或者处理不同的状态改变情况等。

    评论

报告相同问题?