6

我有 JQuery 数据表,我想在单击删除链接时删除行。它适用于前 10 行,即第一页。当我从分页移到任何另一个时。它不工作。这是我的代码:

$("#example tbody td.delete").click(function(event) {
                var row = $(this).closest("tr").get(0);
                oTable.fnDeleteRow( row );
    });

一行的所有最后一个 td 都有“删除”类。

我应该如何处理所有页面或所有记录?

4

3 回答 3

17

如果您使用 jQuery 1.7 或更早版本,则需要使用实时事件处理程序,因为后续页面是动态添加的。

$('#example tbody td.delete').live('click', function(event) {
    var row = $(this).closest('tr').get(0);
    oTable.fnDeleteRow( row );
});

jQuery .live()

编辑:

看起来人们仍在使用此答案,因此要使用最新的最佳实践对其进行更新,请勿使用 .live()。Live 在 1.7 中被弃用并在 1.9 中被移除。相反,使用.on()处理程序。这可以通过将事件绑定到父元素并使用您想要定位的实际元素作为可选选择器参数来处理委托事件。要在上面的示例中使用它,它看起来像这样:

$('#example tbody').on('click', 'td.delete', function(event) {
    var row = $(this).closest('tr').get(0);
    oTable.fnDeleteRow( row );
});
于 2011-09-28T07:45:35.583 回答
0

我在尝试绑定内联事件时遇到了同样的问题

 onclick="$('#dataConfirmOK').attr('href',$(this).attr('url'))"
于 2014-07-13T12:49:57.790 回答
-1

如果实时扩展不起作用,那么您可以额外添加实时扩展插件。 http://plugins.jquery.com/files/live-extension.js_4.txt

最好在加载下一页项时绑定它们的“单击事件”。请在每次页面加载时加载下面的代码。并定义函数“click_function_to_call”。

<script type="application/javascript">
  $("#example tbody td.delete").click(click_function_to_call);
</script>
于 2011-09-28T08:00:32.010 回答