Hallo zusammen
Ich habe eine HTML-Tabelle, die etwas vereinfacht wie folgt aufgebaut ist:
Zusätzlich kann ich in meinem Dokument mit einem durch das CMS vorgegebenen Shortcode einen Kurstitel ausgeben lassen, in meinem Beispiel:
Mit JQuery möchte ich nur diejenigen Zeilen in der Tabelle anzeigen lassen, die mit dem Inhalt des divs "#kurstitel" übereinstimmen. Der aktuelle Code sieht so aus:
Das Filtern funktioniert soweit auch einwandfrei. Mein Problem ist aber folgendes: Das CMS gibt leider den Kurstitel im div "#kurstitel" mit einem langen Geviertstrich (–) aus, den Titel in der Tabelle aber mit einem kurzen (-). Sobald ich also den JQuery-Code dahingehend anpasse, dass der Inhalt des spans als Selektor verwendet wird, funktioniert mein Code nicht mehr:
Ich müsste also in meinem Filter-Code noch zusätzlich alle Sonderzeichen im Vornherein ausschliessen. Wichtig sind einzig und allein Zahlen und Buchstaben, der ganze Rest kann vernachlässigt werden. Die Strings sollten aber ansonsten beim Filtern identisch sein, weil später auch andere Listenelemente mit z.B. dem Wort "Testkurs" auftauchen können. Weil ich leider in JQuery und JavaScript noch immer Anfänger bin, wäre ich hierbei froh um jede Hilfe!
Herzlichen Dank und liebe Grüsse
Lukas
Ich habe eine HTML-Tabelle, die etwas vereinfacht wie folgt aufgebaut ist:
Code:
<table id="dbem-bookings-table">
<thead></thead>
<tbody>
<tr>
<td><a href="#">Kurs 8 Bogenschiessen - Teil 1</a></td>
<td>Freitag, 1. September 2017</td>
<td>Max Muster</td>
</tr>
<tr>
<td><a href="#">Kurs 1 - Testkurs</a></td>
<td>Donnerstag, 29. September 2017</td>
<td>Hugo Muster</td>
</tr>
</tbody>
</table>
Zusätzlich kann ich in meinem Dokument mit einem durch das CMS vorgegebenen Shortcode einen Kurstitel ausgeben lassen, in meinem Beispiel:
Code:
<span id="kurstitel">Kurs 1 – Testkurs</span>
Mit JQuery möchte ich nur diejenigen Zeilen in der Tabelle anzeigen lassen, die mit dem Inhalt des divs "#kurstitel" übereinstimmen. Der aktuelle Code sieht so aus:
Code:
$("#dbem-bookings-table tbody tr:not(:contains('Kurs 1 - Testkurs'))").remove();
Das Filtern funktioniert soweit auch einwandfrei. Mein Problem ist aber folgendes: Das CMS gibt leider den Kurstitel im div "#kurstitel" mit einem langen Geviertstrich (–) aus, den Titel in der Tabelle aber mit einem kurzen (-). Sobald ich also den JQuery-Code dahingehend anpasse, dass der Inhalt des spans als Selektor verwendet wird, funktioniert mein Code nicht mehr:
Code:
var variable = $("#kurstitel" ).text();
$("#dbem-bookings-table tbody tr:not(:contains('" + variable + "'))").remove();
Ich müsste also in meinem Filter-Code noch zusätzlich alle Sonderzeichen im Vornherein ausschliessen. Wichtig sind einzig und allein Zahlen und Buchstaben, der ganze Rest kann vernachlässigt werden. Die Strings sollten aber ansonsten beim Filtern identisch sein, weil später auch andere Listenelemente mit z.B. dem Wort "Testkurs" auftauchen können. Weil ich leider in JQuery und JavaScript noch immer Anfänger bin, wäre ich hierbei froh um jede Hilfe!
Herzlichen Dank und liebe Grüsse
Lukas