我有以下方法可以获取选定的过滤制表行,但我没有从数组中获取任何数据,有人可以帮忙吗?
document.getElementById("get-selected-rows").addEventListener("click", function() {
var rows = table.getRows("active");
var selectedRows = rows.filter(function(row) {
if (row.isSelected()) {
var postData = jQuery.map(rows, function(row) {
return {
id: row.getData().id,
FirtName: row.getData().FirtName,
LastName: row.getData().LastName,
Age: row.getData().Age,
City: row.getData().City
};
});
jQuery.ajax({
url: 'save_rows.php',
type: 'POST',
data: JSON.stringify(postData),
contentType: 'application/json',
success: function(response) {},
error: function(error) {}
});
}
});
});
您不应该每次循环都进行 AJAX 调用。您应该将
rows
过滤到选定的行中,然后将其映射以获取选定项目的数组,并在最后在 AJAX 调用中发送一次。
document.getElementById("get-selected-rows").addEventListener("click", function() {
var rows = table.getRows("active");
var selectedRows = rows.filter(row => row.isSelected());
var postData = selectedRows.map(function(row) {
const data = row.getData();
return {
id: data.id,
FirtName: data.FirtName,
LastName: data.LastName,
Age: data.Age,
City: data.City
}
});
jQuery.ajax({
url: 'save_rows.php',
type: 'POST',
data: JSON.stringify(postData),
contentType: 'application/json',
success: function(response) {},
error: function(error) {}
});
});