我有一个表使用jQuery数据表和分页工作
我有超过300书记官处的这50是在每一页上最大。 我每次从页面切换到其他250名书记官处从DOM删除页面,所以当我提出并执行后到我的控制,我只得到了50款这是我目前的网页上会名单。
如何访问其他的250,或者告诉表格给他们呢? 我已经搜查,我已阅读,这是分页的正常行为。 但是,你们如何解决它?
我有一个表使用jQuery数据表和分页工作
我有超过300书记官处的这50是在每一页上最大。 我每次从页面切换到其他250名书记官处从DOM删除页面,所以当我提出并执行后到我的控制,我只得到了50款这是我目前的网页上会名单。
如何访问其他的250,或者告诉表格给他们呢? 我已经搜查,我已阅读,这是分页的正常行为。 但是,你们如何解决它?
当使用数据表插件中的分页只有当前页面排在DOM性能和兼容性存在。 因此,当您提交表单,只有当前页面的表单控件值被提交。
关键是要打开窗体元素从比目前的其他页面进入<input type="hidden">
提交表单之前。
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)
);
}
});
});
见jQuery的数据表:如何提交所有网页表单数据-直接提交更多细节和例子。
另一个解决方案是通过Ajax提交表单。
var table = $('#example').DataTable();
// Handle form submission event
$('#frm-example').on('submit', function(e){
// Prevent actual form submission
e.preventDefault();
// Serialize form data
var data = table.$('input,select,textarea').serialize();
// Submit form data via Ajax
$.ajax({
url: '/echo/jsonp/',
data: data,
success: function(data){
console.log('Server response', data);
}
});
});
见jQuery的数据表:如何提交所有网页表单数据-通过Ajax提交的更多细节和例子。
请注意,这两个解决方案将只在客户端处理模式。
见jQuery的数据表:如何提交所有网页表单数据的更多细节。