Jquery 如何允许使用数据表删除ajax服务器端记录
我正在使用datatables为我的用户数据建模,并希望在用户单击名为“Delete Restaurant”的按钮从视图中删除记录的同时,允许删除数据库中的记录。从datatables站点,删除操作只会隐藏用户的记录,而不是实际删除datacase中的任何内容: 如何在locations.js.coffee中调用ajax从数据库中删除所选的表记录? manage.html.erb,用于选择位置然后将其删除的表(在“位置”视图中):Jquery 如何允许使用数据表删除ajax服务器端记录,jquery,ruby-on-rails,ajax,coffeescript,datatables,Jquery,Ruby On Rails,Ajax,Coffeescript,Datatables,我正在使用datatables为我的用户数据建模,并希望在用户单击名为“Delete Restaurant”的按钮从视图中删除记录的同时,允许删除数据库中的记录。从datatables站点,删除操作只会隐藏用户的记录,而不是实际删除datacase中的任何内容: 如何在locations.js.coffee中调用ajax从数据库中删除所选的表记录? manage.html.erb,用于选择位置然后将其删除的表(在“位置”视图中): 要删除多行,首先需要确定创建正确的db查询需要哪些特定数据 下面
要删除多行,首先需要确定创建正确的db查询需要哪些特定数据 下面假设
store\u number
现在就足够了,它将从单元格文本中提取。您可以使用datatables呈现方法进行更多自定义,例如使用data-
属性
循环浏览所有选定的类,并对每个类提出请求,然后删除该行
$('#deleteRestaurant').click(function () {
$('tr.selected').each(function () {
var $row = $(this);
var store = $row.find('td:first').text();
$.post('path/to/server', {store_id: store}, function (response) {
if ( /* validation of response*/ ) {
table.row($row).remove();
}
});
});
table.draw();
});
如果您的后端代码需要一个更具体的标识符,您可以将其放在隐藏列中删除按钮没有显示事件处理代码,因此显示的错误来自不同的代码,而不是发布的代码。该错误分散了我手上问题的注意力,我将其删除。如何设置ajax以删除datatables select选择的记录?您发布的内容是我已经拥有的,但您在javascript中拥有它。您的代码只是。从表中删除行,对基础数据不做任何操作。我需要的是包含$.ajax
语法的方法,以便从数据库中删除记录,而不是简单地从表中“删除”或隐藏记录。因此,您需要以与在url定义的端点中执行表单相同的方式接收发布的数据,对其进行处理以执行删除,并返回一些内容以在客户端中进行验证。如果你想要服务器代码,我不知道你为什么在问题中发布所有客户端代码。我用我正在尝试的方法更新了问题,但还没有开始工作。我正在调用$.ajax,但无法使删除生效。您需要有一些标识符来确定要删除的内容。如果没有成功验证,请不要从服务器中删除该行。在我的代码中,它是表。行(“.selected”)
要选择要删除的内容,如何将其追溯到该记录项数据库中的特定id?
table = $("#restaurantLocations").DataTable()
$("#deleteRestaurant").click ->
table.row(".selected").remove().draw false
$.ajax({
url: "/uploadlocations/",
type: "post",
dataType: "json",
data: {"_method":"delete"}
});
return
return
$('#deleteRestaurant').click(function () {
$('tr.selected').each(function () {
var $row = $(this);
var store = $row.find('td:first').text();
$.post('path/to/server', {store_id: store}, function (response) {
if ( /* validation of response*/ ) {
table.row($row).remove();
}
});
});
table.draw();
});