Heim  >  Artikel  >  Web-Frontend  >  Verwendung von JavaScript zur Implementierung der Paging-Anzeige von Tabellendaten

Verwendung von JavaScript zur Implementierung der Paging-Anzeige von Tabellendaten

王林
王林Original
2023-06-16 10:00:112397Durchsuche

Da die Datenmenge weiter wächst, wird die Tabellendarstellung schwieriger. Meistens ist die Datenmenge in einer Tabelle so groß, dass das Laden langsamer wird und Benutzer die Seite ständig durchsuchen müssen, um die gewünschten Daten zu finden. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript eine paginierte Anzeige von Tabellendaten realisieren und Benutzern das Auffinden der gewünschten Daten erleichtern.

1. Tabellen dynamisch erstellen

Um die Paging-Funktion besser kontrollierbar zu machen, ist es notwendig, Tabellen dynamisch zu erstellen. Fügen Sie auf der HTML-Seite ein Tabellenelement hinzu, das dem folgenden ähnelt.

ca7824e82b63989e2c17cea1ff073e43
Nummer Name Alter Geschlecht
1 小红 20 Weiblich
2 Xiao Ming 22 Männlich
3 Kleine Blume 25 Weiblich

In JavaScript definieren Sie zunächst ein Array mit allen Tabellendaten:

let tableData = [
{ id: 1, name: '小红', age: 20, gender: 'female' },
{ id: 2 , name : 'Xiao Ming', Alter: 22, Geschlecht: 'Männlich' },
{ ID: 3, Name: '小花', Alter: 25, Geschlecht: 'Weiblich' },
// Weitere Daten
]; Als nächstes erstellen Sie eine Funktion namens „createTable“. Diese Funktion erstellt ein leeres Tabellenelement und fügt es in die HTML-Seite ein.

// Tabelle erstellen

function createTable() {

let table = document.createElement('table'); // Tabellenelement erstellen
table.id = 'table-page'; // Setze die ID
table.classList. add('table'); // Stil hinzufügen
let thead = document.createElement('thead');
let tr = document.createElement('tr');
let thNum = document.createElement('th');
thNum.innerHTML = 'Number';
tr.appendChild(thNum);
let thName = document.createElement('th');
thName.innerHTML = 'Name';
tr.appendChild(thName);
let thAge = document.createElement('th');
thAge.innerHTML = 'Age';
tr.appendChild(thAge);
let thGender = document.createElement('th');
thGender.innerHTML = 'Gender';
tr.appendChild(thGender);
thead.appendChild(tr);
table.appendChild(thead);
let tbody = document.createElement('tbody');
table.appendChild(tbody);
document.body.appendChild (table);
}

Rufen Sie nun die Funktion createTable auf, um die Tabelle zu erstellen.

createTable();

2. Paginierung hinzufügen

Erstellen Sie in JavaScript eine neue Funktion mit dem Namen „Paginierung“. Diese Funktion filtert die Tabellendaten basierend auf der erforderlichen Datenmenge pro Seite und der aktuellen Seitennummer und zeigt sie an die Ergebnisse im Formular.

// Paginierungsfunktion

function pagination(pageSize, pageNumber) {

let table = document.getElementById('table-page');
let tbody = table.querySelector('tbody');
let start = pageSize * ( pageNumber - 1);
let end = start + pageSize;
let d = tableData.slice(start, end);
tbody.innerHTML = '';
for (let i = 0; i < d.length; i++ ) {

let tr = document.createElement('tr');
for (let key in d[i]) {
  let td = document.createElement('td');
  td.innerHTML = d[i][key];
  tr.appendChild(td);
}
tbody.appendChild(tr);

}

}


In dieser Funktion werden zuerst das Tabellenelement und das Tbody-Element abgerufen. Anschließend wird der anzuzeigende Datenbereich anhand der angegebenen Datenmenge pro Seite und der aktuellen Seitenzahl berechnet. Verwenden Sie dann die Slice-Methode, um die auf der aktuellen Seite anzuzeigenden Daten abzurufen, und fügen Sie sie in einer Schleife zum tbody-Element der Tabelle hinzu.

3. Erstellen Sie die Paging-Komponente

Als nächstes erstellen Sie eine Funktion namens „createPagination“, um die Paging-Komponente zu generieren.

//Paginierungsschaltflächenkomponente erstellen

function createPagination(pageSize) {

let totalPage = Math.ceil(tableData.length / pageSize);
let pagination = document.getElementById('pagination');
if (!pagination) {

pagination = document.createElement('div');
pagination.id = 'pagination';
document.body.appendChild(pagination);

}

pagination.innerHTML = '';

for (let i = 1; i <= totalPage; i++) {

let btn = document.createElement('button');
btn.innerHTML = i;
btn.onclick = function() {
  pagination(pageSize, i)
};
pagination.appendChild(btn); 

}

}


Diese Funktion zählt die Anzahl aller Seiten, basierend auf jeder Schaltflächenkomponente zur Mengengenerierung auf der Seite. Innerhalb der Schleife wird jede Schaltfläche erstellt und an das Element „Paginierung“ angehängt. Legen Sie abschließend das Klickereignis der Schaltfläche fest, um die Paginierungsfunktion „pagination()“ aufzurufen.

4. Auf tatsächliche Projekte anwenden

In tatsächlichen Projekten können Sie das tableData-Array durch vom Server erhaltene Daten ersetzen und die Tabellenerstellungs- und Paging-Funktionen nach Bedarf aufrufen.

// Daten asynchron anfordern

let xhr = new XMLHttpRequest();

xhr.open('GET', '/getData');
xhr.onload = function() {
let data = JSON.parse(xhr. ResponseText);
tableData = data;
createTable();
pagination(pageSize, pageNumber);
createPagination(pageSize);
}
xhr.send();

In diesem Beispiel wird ein XMLHttpRequest-Objekt verwendet, um Daten abzurufen asynchron. Anschließend werden die Daten in ein JSON-Objekt geparst und die Funktionen createTable, pagination und createPagination aufgerufen.

5. Zusammenfassung

Durch die oben genannten Schritte haben wir JavaScript erfolgreich verwendet, um die Grundfunktion der Anzeige von Tabellendaten auf Seiten zu implementieren. Wenn die Datenmenge groß ist, verbessert diese Methode die Leistung der Tabelle erheblich und bietet Benutzern auch ein besseres interaktives Erlebnis. Schließlich liegt der Reiz einer Software in der bequemen und einfachen Benutzererfahrung.

Das obige ist der detaillierte Inhalt vonVerwendung von JavaScript zur Implementierung der Paging-Anzeige von Tabellendaten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn