如何使用 jQuery Datatables 将所有网格值一次性提交到服务器?
我希望将网格中的所有数据保存到服务器。我正在使用 jquery 数据表插件。
function fnSave() {
var aTrs = oTable.fnGetNodes();
var aReturn = new Array();
for(var i=0;i<aTrs.length;i++) {
var aData=oTable.fnGetData(i);
aReturn.push( aData );
}
console.log(aReturn);
}
作为回报,我得到:
"<input name="regimentNameAgents" value="" id="regimentNameAgents" type="text">"
...
我只想返回网格值(而不是 HTML)。
通过使用这个函数,我的值始终是:value="",即使我在输入中添加文本,为什么?
有没有更好的方法来提取所有网格数据?
I looking to save all data from my grid to a server. I'm using jquery Datatables plugin.
function fnSave() {
var aTrs = oTable.fnGetNodes();
var aReturn = new Array();
for(var i=0;i<aTrs.length;i++) {
var aData=oTable.fnGetData(i);
aReturn.push( aData );
}
console.log(aReturn);
}
As return I get :
"<input name="regimentNameAgents" value="" id="regimentNameAgents" type="text">"
...
I would like to only return grid values (and not HTML).
By using this function, my value is always: value="", even if I add text in the input, why?
Is there a better way to extract all grid data ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
存储在 JDataTable 中的数据不是 DOM 中当前的数据,而是您最初设置它的数据。因此,当您更新输入时,DOM 元素也会更新,但没有挂钩来更新 jdatatable 中保存的数据。我会构建更像这样的网格:
然后
grid
变量应该存储完整的数据表。我对你如何在那里构建你的表格做了一些假设,因为它没有发布,但我猜这与你所得到的相当接近。The data that's stored in the JDataTable isn't what's currently in the DOM, it's what you set it with originally. So when you update an input, the DOM element is updated, but there's no hook to update the data held in the jdatatable. I'd build the grid something more like this:
The
grid
variable should then be storing your full table of data. I'm making a few assumptions about how you've structured your table there, since it wasn't posted, but I'm guessing that's fairly close to what you've got.通过使用数据表 fnGetNodes,解决方案如下:
By using Datatables fnGetNodes, here is the solution :