Ich habe eine einfache Tabelle, die Datum in Spalten zeigt. Jedes <td>
hat ein Datenattribut data-port
Ich möchte die Ergebnisse filtern, die in der Tabelle gezeigt werden, die auf einer Auswahl basiert, die von einer Dropdownliste vorgewählt wird.Jquery Filtering Tabelle Ergebnisse auf Datenattribut
Die HTML ist:
<select id='filter'>
<option></option>
<option value='fd18'>OPTION A</option>
<option value='af13'>OPTION B</option>
</select>
<table id='table1'>
<tbody>
<tr>
<td data-port="fd18"><div id="123" class="title">123</div></td>
<td data-port="af13"><div id="456" class="title">456</div></td>
<td data-port="0000"><div id="789" class="title">789</div></td>
<td data-port="fd18"><div id="213" class="title">213</div></td>
</tr>
<tr>
<td data-port="fd18"><div id="345" class="title">345</div></td>
<td data-port="af13"><div id="946" class="title">946</div></td>
<td data-port="0000"><div id="368" class="title">368</div></td>
<td data-port="af13"><div id="246" class="title">246</div></td>
</tr>
<tr>
<td data-port="af13"><div id="642" class="title">642</div></td>
<td data-port="fd18"><div id="759" class="title">795</div></td>
<td data-port="fd18"><div id="335" class="title">335</div></td>
<td data-port="fd18"><div id="556" class="title">556</div></td>
</tr>
</tbody>
</table>
mit JQuery Ich versuche, die TDs zu zeigen, wo die Daten-Port die gewählte Option entspricht und den Rest auszublenden. Wie kann ich das tun, und es ist möglich, das Tabellenlayout dynamisch zu aktualisieren, damit ich noch mit ordentlichen Spalten enden kann.
Die jquery Ich benutze ist:
$('#filter').change(function() {
var port = $(this).val()
console.log(port)
$("td > [data-port!=" + port+ "]").hide();
$("td > [data-port=" + port+ "]").show();
});
Die Konsole den richtigen Wert zurückgegeben zeigt, aber ich am Ende auf der Seite alle TDs versteckt nicht nur diejenigen, die
nicht übereinstimmenIrgendwelche Ideen, wie ich das machen kann. Dank
Ich erhalte eine Fehlermeldung, wenn ich dieses Snippet ausprobiere. "nachricht": "Uncaught ReferenceError: $ ist nicht definiert", "filename": "http://stacksnippets.net/js", "linneno": 13, "colno": 9 – MacMan
Das stimmt, Sie brauche jQuery lib. Bearbeite das Schnipsel, du bist gut zu gehen :) –
Danke, dass hilft. Gibt es eine Möglichkeit, die Seitenformatierung aufzuräumen? Wenn Sie Option A auswählen, wird automatisch ein Eintrag in der zweiten Zeile angezeigt. – MacMan