每行都有编辑按钮,点击时,行中的数据将传递到模态,用户可以在模态中更改它,然后保存 在模态中它应该更新该行。
我正在使用fnUpdate,但是不是更新(替换)预期行,而是替换不同的行...
var uId = $(this).closest('.modal-content').find('input[name=uId]').val();
var fNameUpdated = $(this).closest('.modal-content').find('input[name=fName]').val();
var lNameUpdated = $(this).closest('.modal-content').find('input[name=lName]').val();
var uTypeUpdated = $(this).closest('.modal-content').find('.dropdown-toggle').attr('title');
var uNameUpdated = $(this).closest('.modal-content').find('input[name=uName]').val();
var uPasswordUpdated = $(this).closest('.modal-content').find('input[name=password]').val();
var buttons = 'buttons';
// updating row using fnUpdate from datatable
var oTable = $('#dataTables-example').dataTable();
oTable.fnUpdate( [uId, fNameUpdated, lNameUpdated, uTypeUpdated, uNameUpdated, uPasswordUpdated, buttons], trIndex );
trIndex 较早收到:
var trIndex;
$('#dataTables-example').dataTable().find('tbody').on('click', 'tr', function () {
trIndex = this.rowIndex;
});
编辑第 1 行之前的表格:
+-----+------------+-----------+---------+----------+------+---------------+
| ID | First Name | Last Name | Type | Username | Pass | Action |
+-----+------------+-----------+---------+----------+------+---------------+
| 1 | Mark | Knopfler | admin | Mark | pass | Edit / Delete |
| 2 | Peter | Pan | admin | Peter | pass | Edit / Delete |
| 3 | Bob | Dylan | regUser | Bob | pass | Edit / Delete |
| 4 | Harry | Angel | regUser | Harry | pass | Edit / Delete |
| ... | ... | ... | ... | ... | ... | ... |
+-----+------------+-----------+---------+----------+------+---------------+
编辑第 1 行后的表格:
+-----+------------+-----------+---------+----------+------+---------------+
| ID | First Name | Last Name | Type | Username | Pass | Action |
+-----+------------+-----------+---------+----------+------+---------------+
| 1 | Mark | Knopfler | admin | Mark | pass | Edit / Delete |
| 1 | Harrison | Ford | regUser | Harrison | pass | Edit / Delete |
| 3 | Bob | Dylan | regUser | Bob | pass | Edit / Delete |
| 4 | Harry | Angel | regUser | Harry | pass | Edit / Delete |
| ... | ... | ... | ... | ... | ... | ... |
+-----+------------+-----------+---------+----------+------+---------------+
请大家指点一下。
编辑:
1)可能有一种更有效的收集数据的方法
2) 字段通过仅用于测试目的
最佳答案
找到的解决方案:
显然,接收 trIndex 的方法是错误的,应使用以下内容进行更正:
$('#dataTables-example tbody').on('click', 'td', function () {
var tr = $(this).closest('tr');
rowIndex = tr.index();
});
以上似乎工作正常。
关于javascript - DataTables - 使用 fnUpdate 更新行替换不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28258075/