DataTable Ajax Reload с новыми даннымиJquery

Программирование на jquery
Ответить
Anonymous
 DataTable Ajax Reload с новыми данными

Сообщение Anonymous »

Так что у меня уже есть основная таблица при начальной загрузке в файле JavaScript как таковой: < /p>
let table = new DataTable('#UsersTable', {
ajax: 'user_data',
rowId: 'id',
columns: [
{ data: 'id', className: 'dt-left' },
{ data: 'email' },
{ data: 'first_name' },
{ data: 'last_name' },
{ data: 'group' },
{ data: 'parent-group' },
{ data: 'role' },
{ data: 'create_date', className: 'dt-left' },
{ data: 'active' },
{ data: 'deleted' }
],
layout: {
topStart: 'buttons'
},
buttons: [
{ extend: 'copy', text: ' Copy', className: 'btn-primary btn-sm' },
{ extend: 'csv', text: ' CSV', className: 'btn-primary btn-sm' },
{ extend: 'excel', text: ' Excel', className: 'btn-primary btn-sm' },
{ extend: 'pdf', text: ' PDF', className: 'btn-primary btn-sm' },
{ extend: 'print', text: ' Print', className: 'btn-primary btn-sm' }
],
select: true,
responsive: true,
processing: true,
initComplete: function () {
// Remove btn-secondary if still present
document.querySelectorAll('.btn').forEach(btn => {
btn.classList.remove('btn-secondary');
});
}
});
< /code>
Но тогда, когда я нахожусь в портале администратора пользователя, у меня есть функция фильтра, в которой пользователь должен иметь возможность отфильтровать данные в меньший набор данных. Я хочу, чтобы он перезагрузил таблицу с новыми данными, но $ ('#userstable'). DataTable (). Ajax.reload (); Конечно, просто перезагружает функцию сверху. Вот что у меня есть, что получает правильные фильтрованные данные: < /p>
$('#filterform').submit(function() {
event.preventDefault();

var role_id = $('#role_id_ff').val();
var is_active = $('#is_active_ff').val();
var is_deleted = $('#is_deleted_ff').val();
var license_type = $('#license_type_ff').val();
var receive_news = $('#receive_news_ff').val();
var receive_marketing = $('#receive_marketing_ff').val();
var parent_id = $('#parent_id_ff').val();
var group_id = $('#group_id_ff').val();

$.ajax({
url: "",
type: "POST",
data: { // Data to be sent to the server as a plain object
role_id: role_id,
is_active: is_active,
is_locked: 0,
is_deleted: is_deleted,
license_type: license_type,
receive_news: receive_news,
receive_marketing : receive_marketing,
parent_id: parent_id,
group_id: group_id
},
dataType: "json", // Expected data type from the server response (e.g., "json", "html", "text")
success: function(response) {
// Callback function executed on successful request
console.log("Success:", response);

//here I want to reload the table but with the new filtered data
$('#UsersTable').DataTable().ajax.reload();
},
error: function(jqXHR, textStatus, errorThrown) {
// Callback function executed on request error
console.error("Error:", textStatus, errorThrown);
}
});
});
< /code>
Застрял здесь. Я подумал о том, чтобы просто сделать новый вызов данных с новыми данными, но в нем говорится, что я «не могу повторноменовать»

Подробнее здесь: https://stackoverflow.com/questions/797 ... h-new-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»