leo*_*ora 5 forms jquery http-post filter datatables
我在表单内有一个html表。我将DataTables应用于表以添加过滤和排序。这很好。
唯一的问题是,如果用户在搜索框中输入数据进行过滤,然后提交表单,则仅提交可见行。我以为DataTables只是隐藏了由搜索过滤的行,因此所有内容都应该以表格的形式存在,但事实并非如此。
即使用户碰巧启用了搜索过滤器,也可以通过表单发布所有行吗?
使用以下技术提交表中所有页面的数据,而不仅仅是第一页上的过滤数据。
var table = $('#example').DataTable();
// Handle form submission event
$('#frm-example').on('submit', function(e){
var form = this;
// Encode a set of form elements from all pages as an array of names and values
var params = table.$('input,select,textarea').serializeArray();
// Iterate over all form elements
$.each(params, function(){
// If element doesn't exist in DOM
if(!$.contains(document, form[this.name])){
// Create a hidden element
$(form).append(
$('<input>')
.attr('type', 'hidden')
.attr('name', this.name)
.val(this.value)
);
}
});
});
Run Code Online (Sandbox Code Playgroud)
有关代码和演示,请参阅此示例。
有关更多详细信息和示例,请参阅jQuery DataTables:如何提交所有页面表单数据。