Ich versuche, meine Eingabe zu machen. Suchfeld Suche nach 2 Werten in 2 verschiedenen Spalten gleichzeitig in JS. Ich habe mit 1 Wert begonnen. Suche mit diesem Code:

$("#boo").click(function(){
    var table = $('#table').DataTable();
       table.search("boo").draw();
});

Ich habe column (). search () ausprobiert, aber ich konnte es nicht richtig zum Laufen bringen:

$("#boo").click(function(){
    var table = $('#table').DataTable();
       table.column([2,3]).search("boo", "New").draw();
});

Ich versuche, in die Tabelle zu filtern, z. B. Geschlecht und Typ. Können Sie mir dabei helfen?

1
DJ_cascurity 18 Jän. 2019 im 15:20

3 Antworten

Beste Antwort

Versuchen Sie, .columns anstelle von .column zu verwenden:

$("#boo").click(function(){
    var table = $('#table').DataTable();
       table.columns([2,3]).search("boo", "New").draw();
});

Siehe DataTables-Dokumentation hier.

Die Funktion column().search() durchsucht eine bestimmte Spalte, während Spalten (). Search () es Ihnen ermöglicht, mehrere Spalten zu durchsuchen, wie in Ihrem Array definiert.

BEARBEITEN

Ich habe gerade eine Zeile in Ihr Beispiel eingefügt:

$("#boo").click(function(){
    var table = $('#table').DataTable();
    table.search("boo").draw();
    table.columns([2,3]).filter("boo", "New").draw();
});
1
DJ_cascurity 18 Jän. 2019 im 13:18

Die Funktion .draw() macht nichts, was Sie nicht sagen. In einfachen Worten, Sie können viele verschiedene Ereignisse ausführen und sie dann alle mit .draw() aufrufen. Wie von Zim84 vorgeschlagen, können Sie in den 2 verschiedenen Spalten suchen, aber in der ersten würden Sie .draw() nicht ausführen, ABER Sie würden bei Ihrer zweiten Suche .draw() aufrufen.

Also ... ja, so etwas wie
machen

table.column (2) .search ("male"); table.column (3) .search ("asia"). draw ();

Würde gut funktionieren.

0
Jordan Gray 18 Jän. 2019 im 12:35

Suchen Sie einfach in 2 Spalten:

$("#boo").click(function(){
    var table = $('#table').DataTable();
    table.column(2).search("male");
    table.column(3).search("asia").draw();
});
0
Zim84 18 Jän. 2019 im 12:28