2017-10-23 8 views
1

ich meine tablesorter Tabelle erfolgreich von einem Link outside the table Sortierung, var sorting = [[2,"n"]]; verwenden. Wenn Sie auf diesen Link klicken, wird die Tabelle umgekehrt (von ASC zu DESC).Tablesorter sortieren klicken Link außerhalb

Wie kann ich die Tabelle nach der dritten Spalte aufsteigend sortieren, ohne die Fähigkeit zu verlieren, in die entgegengesetzte Richtung zu sortieren, indem ich erneut auf den Link klicke? var sorting = [[2,"a"]]; sortiert die Tabelle aufsteigend, aber ich kann diesen Link nicht erneut anklicken, um in die entgegengesetzte Richtung zu sortieren!

Danke für Ihre Hilfe!

Das sind meine Zeilen:

$("#trigger-tg").click(function() { 
    // set sorting column and direction, this will sort on the first and third column the column index starts at zero 
    var sorting = [[2,"n"]]; 
    // sort on the first column 
    $("table").trigger("sorton",[sorting]); 
    // return false to stop default link action 
    return false; 
}); 

Antwort

0

Der tablesorter Link in Ihrer Frage auf den ursprünglichen tablesorter zeigt, aber die Code-Links und Beispiel sind aus meinem fork of tablesorter, die die Fähigkeit enthalten ein „n“ passieren um die Spalte in die "nächste" Richtung zu sortieren.

Das Codebeispiel, das Sie freigegeben haben, funktioniert - see demo.

$(function() { 

    var $table = $("table"); 
    $table.tablesorter(); 

    $("#trigger-tg").click(function() { 
    $table.trigger("sorton", [[[2, "n"]]]); 
    return false; 
    }); 

}); 

ist die Dokumentation Seite alle möglichen Einstellungen zeigt - https://mottie.github.io/tablesorter/docs/example-trigger-sort.html

Wenn Sie die ursprünglichen tablesorter verwenden müssen, versuchen Sie den Code aus this demo.


Update: Um den Benutzer zu benachrichtigen, dass zusätzliche Klicks die Art ändern, versuchen Sie diesen Code (demo)

HTML

<p>Sort Animals column from <a id="trigger-tg" href="#">A-Z</a>.</p> 

Script

$(function() { 

    var $table = $("table"), 
    targetColumn = 2; 
    $table 
    .on("sortEnd", function() { 
     var c = this.config; 
     if (c.sortList[0][0] === targetColumn) { 
     $("#trigger-tg").text(c.sortList[0][1] === 0 ? "Z-A" : "A-Z"); 
     } 
    }) 
    .tablesorter(); 

    $("#trigger-tg").click(function() { 
    $table.trigger("sorton", [[[targetColumn, "n"]]]); 
    return false; 
    }); 

}); 
+0

Danke, aber wie kann ich ASC oder DESC von außen sortieren und den umgekehrten Weg neu anordnen, indem ich auf den Auslöser-Link klicke? – vloryan

+0

Oh, möchten Sie, dass der Benutzer asc oder desc von draußen wählt? – Mottie

+0

Gehen Sie den umgekehrten Weg, indem Sie erneut auf diesen Link klicken. Ja. – vloryan