gpt4 book ai didi

jQuery 数据表插件不删除表行

转载 作者:行者123 更新时间:2023-12-01 01:27:09 25 4
gpt4 key购买 nike

我试图弄清楚为什么当我单击删除按钮时,它会更改执行 php 方面的操作,但当它返回到客户端时,它不会从表中删除该行。我的表格使用数据表。

$('.delete').click(function() { 
var titleID = $(this).attr('rel');
$.post('titles/delete', { titleID:titleID }, function(data) {
if (data.success)
{
var anSelected = fnGetSelected( oTable );
oTable.fnDeleteRow( anSelected[0] );
}
});
});

php端的响应是这样的:

{"success":"Yes","message":"Title was deleted successfully!"}

编辑:

这是我现在使用的,我收到一条有趣的错误消息,指出 fnGetSelected 未定义。所以我不确定我是否正确执行此操作来删除表行。

$('.delete').click(function() { 
var titleID = $(this).attr('rel');
$.post('titles/delete', { titleID:titleID }, function(data) {
if (data.success)
{
var anSelected = fnGetSelected( oTable );
oTable.fnDeleteRow( anSelected[0] );
}
}, 'json');
});

最佳答案

oTable 是在数据表功能中找到的对象,并在其中定义。一旦函数运行完毕并渲染了它想要的任何内容,变量就会被销毁,因为它不是任何类型的全局变量。

还有

$('.delete').click(function() { 
var titleID = $(this).attr('rel');
$.post('titles/delete', { titleID:titleID }, function(data) {
if (data.success)
{
var anSelected = fnGetSelected( oTable );
oTable.fnDeleteRow( anSelected[0] );
}
});
});

如果您希望使用 $.post 并返回数据,那么指定您想要返回的数据和类型是一个好主意

$('.delete').click(function() { 
var titleID = $(this).attr('rel');
$.post('titles/delete', { titleID:titleID }, function(data) {
if (data.success)
{
var anSelected = fnGetSelected( oTable );
oTable.fnDeleteRow( anSelected[0] );
}
}, 'json');
});

还值得一提的是,不要在渲染后尝试使用数据表对象。您可以并且很可能是最简单的路线,具体取决于“删除”按钮所在的位置,执行类似的操作

$(this).parent('tr').remove();

假设按钮/链接与要删除的按钮/链接位于同一行..您可以执行上述操作,因为这纯粹是为了删除相关表格行的视觉效果。另外假设您的 ajax 正在更改下次加载页面时的数据,因此它不再包含在集合中,因此不会包含在下一次加载中

关于jQuery 数据表插件不删除表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10324875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com