我想在模态窗口中的数据表表中找到一个特定的行值.我正在寻找https://datatables.net/reference/type/row-selector,但据我所知,它全部基于选择器或内部ID.在我的情况下,我有2列,我希望能够在ajax请求后查找特定行以更新记录.
success: function (data) {
if (data.status_id > 0) {
alert(data.info);
} else {
alert(data.info);
}
contractsTable.row.add(dataJSON).draw(false);
}
Run Code Online (Sandbox Code Playgroud)
编辑
现在我的代码 - 我已经构建了自己独特的rowid并使用了id的选择器
检索数据对象
...
var d = datatable.row(this).data();
... set form values and so on
Run Code Online (Sandbox Code Playgroud)
保存并刷新数据表
$('#contractEditSave').on('click', function (e) {
dataJSON = {
id: $('#contractEditForm').data('contractid'),
member_id: $('#contractEditForm').data('memberid'),
member_name: $('#contractEditModalTitle').text(),
box_id: $('#contractBox').val(),
name: $('#contractName').val(),
description: $('#contractDescription').val(),
start: $('#contractStart').val(),
end: $('#contractEnd').val(),
amount: $('#contractAmount').val(),
unit: $('#contractUnit').val(),
max: 1
};
$.ajax({
type: 'POST',
url: '/save',
data: JSON.stringify(dataJSON),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
if (data.status_id == 0)
datatable.row('#' + dataJSON.id).data(dataJSON); //if update
...
} else {
datatable.row.add(dataJSON).draw(false); //if insert
...
}
$("#contractEditModal").modal('hide');
}
});
});
Run Code Online (Sandbox Code Playgroud)
您可以fnFindCellRowIndexes用来查找在给定列中保存某些数据的行索引。
然后,您可以使用cell().data()API方法来更新单元格。
var table = $('#example').DataTable();
var rowId = $('#example').dataTable()
.fnFindCellRowIndexes('Angelica Ramos', 0);
table
.cell(rowId, 0)
.data('Angelica Ramos (UPDATED)')
.draw(false);
Run Code Online (Sandbox Code Playgroud)
请注意,fnFindCellRowIndexes.js除了jQuery DataTables CSS / JS文件之外,您还需要包括其他内容。
有关代码和演示,请参见此jsFiddle。
| 归档时间: |
|
| 查看次数: |
20656 次 |
| 最近记录: |