【问题标题】:How to .draw() or add row on datatable without ajax reload?如何在不重新加载 ajax 的情况下在数据表上 .draw() 或添加行?
【发布时间】:2016-07-09 21:03:01
【问题描述】:
在数据表上使用 row.add(...),我发现它在导致 draw() 时使用 ajax 调用来刷新,所以我从来没有看到新行,因为它从数据库重新加载数据。
底层的用户体验逻辑如下:
表包含可通过输入编辑的数据。输入在更改中验证,如果行内的所有输入都包含有效数据,则将新数据提交到后端,然后在服务器报告成功后从数据库重新加载。
用户想要添加一个新行。不能生成有效数据,不允许空值,所以新建一个空行,只要所有输入都有有效数据,就以同样的方式提交给后端。
问题:如何在不触发 ajax.reload() 的情况下向数据表添加行?
【问题讨论】:
标签:
javascript
jquery
ajax
datatable
【解决方案1】:
我想出了一个替代解决方案:
当将数据从服务器传递到 ajax 调用时,我在末尾附加了一个空对象results.Add(new AjaxTableObject());,这会导致表格总是显示一行额外的空数据。面向用户的 javascript 逻辑保持不变:只要行的输入有效,它就会向服务器提交数据。
我不会将此标记为正确答案,因为它没有回答发布的原始问题,但我将把它留在这里,因为它可能对尝试做同样事情的其他人有用。
如果有人知道原始问题的答案,请将其发布,它将对其他应用程序有用。