我在表单中包含的表中使用了一个名为Datatables的jQuery插件,此表将包含许多表单元素.
我在页面上有一个保存更改按钮,它将根据用户输入的内容执行AJAX请求来更新数据库.
我遇到的问题是,它只会发布当前在Datatable中可见的表单元素.在一个例子中,我有74行(全部包含几个字段).要显示的记录的默认值为10.
所以当提交表单时,只提交10行的表单元素.我提交了所有行的字段 – 在这种情况下,所有74行的字段.
有没有人有这个解决方案?谢谢.
解决方法
数据表破坏隐藏的行并将其从DOM中移除.如果您需要提交,您应该使用fnGetHiddenNodes()来检索隐藏的行,然后再提交.看看
api页
$.fn.dataTableExt.oApi.fnGetHiddenNodes = function ( oSettings ) { /* Note the use of a DataTables 'private' function thought the 'oApi' object */ var anNodes = this.oApi._fnGetTrNodes( oSettings ); var anDisplay = $('tbody tr',oSettings.nTable); /* Remove nodes which are being displayed */ for ( var i=0 ; i<anDisplay.length ; i++ ) { var iIndex = jQuery.inArray( anDisplay[i],anNodes ); if ( iIndex != -1 ) { anNodes.splice( iIndex,1 ); } } /* Fire back the array to the caller */ return anNodes; }