При использовании плагина DataTables с разбиением на страницы в DOM существуют только текущие строки страниц для обеспечения производительности и совместимости. Поэтому, когда вы отправляете форму, отправляются только текущие формы формы страницы.
Трюк состоит в том, чтобы повернуть элементы формы со страниц, отличных от текущего, в перед отправкой формы.
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(
$('')
.attr('type', 'hidden')
.attr('name', this.name)
.val(this.value)
);
}
});
});
См. jQuery DataTables: как отправить все данные формы страницы - Отправить непосредственно для получения более подробной информации и примеров.
Другое решение - отправить форму через 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 DataTables: как отправить все данные формы страницы - Отправить через Ajax для получения более подробной информации и примеров.
Обратите внимание, что оба решения будут работать только в режиме обработки на стороне клиента.
См. jQuery Таблицы данных: как отправить данные всех страниц для более подробной информации.
По-видимому, это - проблема ядра. Для графики Radeon следующее, кажется, работает: