Так что у меня уже есть основная таблица при начальной загрузке в файле 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
DataTable Ajax Reload с новыми данными ⇐ Jquery
Программирование на jquery
1753369534
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: '[i][/i] Copy', className: 'btn-primary btn-sm' },
{ extend: 'csv', text: '[i][/i] CSV', className: 'btn-primary btn-sm' },
{ extend: 'excel', text: '[i][/i] Excel', className: 'btn-primary btn-sm' },
{ extend: 'pdf', text: '[i][/i] PDF', className: 'btn-primary btn-sm' },
{ extend: 'print', text: '[i][/i] 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>
Застрял здесь. Я подумал о том, чтобы просто сделать новый вызов данных с новыми данными, но в нем говорится, что я «не могу повторноменовать»
Подробнее здесь: [url]https://stackoverflow.com/questions/79713590/datatable-ajax-reload-with-new-data[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия