以下 JavaScript 在 jQuery 資料表列中呈現綠色復選標記按鈕或紅色 X 按鈕:
{
data: "HasPayment",
render: function (data, type, row, meta) {
if (data) {
return '<button id=n-"' meta.row '"><span style="color: green"></span></button>';
}
return '<button id=n-"' meta.row '"><span style="color: red"></span></button>';
}
}
單擊其中一個按鈕(綠色復選標記或紅色 X)時,將呼叫以下 JavaScript:
$('#HR_Payment_DataTable tbody').on('click', '.hasPayment', function () {
var id = $(this).attr("id").match(/\d /)[0];
var data = $('#HR_Payment_DataTable').DataTable().row(id).data();
var url = `Payment/Set?applicationId=${data[14]}&year=${data[12]}&month=${data[13]}&hasPayment=${data[11]}`;
$.ajax({
url: url,
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
dataTable.ajax.reload();
},
error: () => {
console.error("500 Internal Server Error.");
}
});
});
當我單擊其中一個按鈕時,我收到一個控制臺錯誤,其中的值url未定義。
我正在關注這個例子: http: //live.datatables.net/qemodapi/975/edit
這就是一行的樣子
{
ActivityPhase: "Complete"
ActivityPhaseDate: "/Date(219999600000)/"
Address: "123 N Main"
AppNumber: 54
Client: "Bob Ben"
EscrowAccountNumber: "123456"
EscrowWithCity: true
HasPayment: false
Hrdbid: null
Id: "a21d627e-97ab-477f-afc1-27c2637f7c05"
Month: 6
Notes: null
Year: 2022
}
uj5u.com熱心網友回復:
由于資料作為物件陣列傳遞到 DataTable 中,因此每行中的資料將表示為物件而不是陣列。因此,您應該訪問任何物件訪問方法而不是陣列的行成員(每列的資料)。
更改此行
var url = `Payment/Set?applicationId=${data[14]}&year=${data[12]}&month=${data[13]}&hasPayment=${data[11]}`;
對此
var url = `Payment/Set?applicationId=${data['AppNumber']}&year=${data['Year']}&month=${data['Month']}&hasPayment=${data['HasPayment']}`;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/492014.html
標籤:javascript jQuery 阿贾克斯 数据表
下一篇:如何向物件添加資料
