javascript - 更改表格行选择的背景颜色

标签 javascript jquery html asp.net-mvc

我有一堆表格作为 partialViews 使用 ajax 加载。

现在我想写一个全局函数,当有人点击 tablerow 时,background-color 变成橙色,当选择不同的 tablerow 旧的再次变成白色,新的变成橙色。

所以我在 _Layout.cshtml 的底部写了这个:

<script type="text/javascript">
    $(document).ready(function() {
        $("table tbody tr").on('click', function () {
            var selected = $(this).hasClass("selectedTableRow");
            $("table tbody tr").removeClass("selectedTableRow");
            if (!selected)
                $(this).addClass("selectedTableRow");
        });
    });
</script>

但它根本没有被访问,我放置在该函数中的 console.logsalerts 没有被触发。为什么不呢?

顺便说一句,我的 table 都有标准设置

<table>
<thead>
    <tr>
        <th></th>
    </tr>
</thead>
<tbody>
    <tr>
        <td></td>
    </tr>
</tbody>
<tfoot>

</tfoot>
</table>

最佳答案

您正在动态创建表,因此使用带有 .on 的文档绑定(bind)点击事件,见下文

$(document).ready(function() {
        $(document).on('click',"table tr", function () {
            var selected = $(this).hasClass("selectedTableRow");
            $("table tr").removeClass("selectedTableRow");
            if (!selected)
                $(this).addClass("selectedTableRow");
        });
    });

关于javascript - 更改表格行选择的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51892731/

相关文章:

jquery - 事件下 zipper 接

javascript - 将 ul 列表保存到 json 对象中

jquery - 单个页面中多个拖放区的全局选项

css - div 中的背景视频,固定背景图像附加到下面的部分 - 非常有问题

javascript - 单击时向文本框添加值

javascript - 在 Backbone.js 中使用模型对集合进行过滤/排序

javascript - 删除中间输入后重新编号data-id

javascript - 使用 nodeJS 将文章从 X 加载到现有的 x.html

html - HTML 中的字符集问题

javascript - 在 JavaScript 中 init 期间调用函数的正确方法