У меня есть таблица внутри iframe и несколько полей поиска, поиск происходит мгновенно (onkeyup), а не после того, как я нажал кнопку.
Моя проблема в том, что я не хочу перезагружать iframe каждый раз, когда что-то ищу, я хочу только «фильтровать» контент при поиске чего-либо. Я использую Datatables для своей таблицы, если это помогает
Я пробовал этот код, но он работает только в том случае, если я перезагружаю i-кадр. Я также хочу, чтобы поиск выполнялся мгновенно и не добавлял кнопку для поиска.
мой js-код для высоты iframe:
Код: Выделить всё
document.addEventListener('DOMContentLoaded', function() {
var iframe = document.getElementById("iframeindex");
if (iframe) {
iframe.onload = function() {
iframe.style.height = iframe.contentWindow.document.documentElement.scrollHeight + 'px';
};
}
});
Код: Выделить всё
function applyTextFilter() {
// Volltext-Filter
const volltext = $("#volltext-filter", parent.document);
table.search(volltext.val()).draw();
// Name-Filter
const nameFilter = $("#name-filter", parent.document);
table.columns(1).search(nameFilter.val()).draw();
// Vorname-Filter
const vornameFilter = $("#vorname-filter", parent.document);
table.columns(2).search(vornameFilter.val()).draw();
// Abteilung-Filter
const abteilungFilter = $("#abteilung-filter", parent.document);
table.columns(9).search(abteilungFilter.val()).draw();
}
// Keyup-Event-Listener für alle Filter anwenden
$("#volltext-filter", parent.document).on('keyup', applyTextFilter);
$("#name-filter", parent.document).on('keyup', applyTextFilter);
$("#vorname-filter", parent.document).on('keyup', applyTextFilter);
$("#abteilung-filter", parent.document).on('keyup', applyTextFilter);
// Initiale Anwendung der Filter
applyTextFilter();
Подробнее здесь: https://stackoverflow.com/questions/793 ... nt-changes