jquery - 使用 jQuery/ajax 选择表格行

标签 jquery ajax html-table

当用户单击表格行时,我使用 jQuery 选择其中一个单元格中的链接。从我的搜索来看,这是相当标准的。

$(document).ready(function () {
    $('table.timecarddetail tr').click(function () {
            var href = $(this).find("a").attr("href");
            if (href) {
                window.location = href;
            }
        });
    });  

注意:table.timecarddetail是表类。

嵌入的链接本质上是一个ajax调用,因此它不会进行完整的回发,并且页面不会刷新。我的问题是该事件触发一次,但随后的点击将被忽略。

技术细节:我使用的是VS2010,每个链接都指向传递记录ID的相同过程。模态弹出扩展面板由该记录中的数据填充,然后通过 panel.show 显示。

我在这里做错了什么?

最佳答案

我过去在实现 JQueryUI 时也遇到过同样的问题。脚本管理器在 ajax 回发后销毁 javascript。您可以通过将其包装在一个函数中并在 ajax 调用的开始和结束时回调它来解决这个问题

Jquery

$(document).ready(function () { 
    setRows();
});   

function setRows() {
$('table.timecarddetail tr').click(function () { 
        var href = $(this).find("a").attr("href"); 
        if (href) { 
            window.location = href; 
        } 
    }); 
}

然后在您的页面中将其放在脚本管理器之后

<asp:ScriptManager runat="server">
</asp:ScriptManager>
<script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_beginRequest(BeginRequestHandler);
    prm.add_endRequest(EndRequestHandler);
    function BeginRequestHandler(sender, args) {
        setRows();
    }
    function EndRequestHandler(sender, args) {
        setRows();
    }
</script>

希望这有帮助。

关于jquery - 使用 jQuery/ajax 选择表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11257643/

相关文章:

javascript - 如何使用javascript为多行动态地将数据分配给表的<td>?

html - 两张 table 并排

javascript - 在JQuery中访问vue js变量

jquery - SlideToggle() 可以检测 SlideUp 或 SlideDown 吗?

javascript - 无法根据从 2 个下拉列表中选择的值获取值

JQuery .load() 回调函数

php - 对 Laravel 的简单 Ajax 请求不起作用

javascript - 为 DIV 动画添加延迟

Jquery最后一行第一列成为焦点

html - 如何跨越 2 个表行的图像?