2013-01-09 3 views
20

Ich habe eine Tabelle, die ich mit jquery Plugin Tablesorter sortiere. Hier möchte ich vermeiden, dass die erste Zeile {class = "avoid-sort"} sortiert wird, wenn eine Spalte zum Sortieren ausgewählt ist. Beispiel:Vermeiden/deaktivieren Sie einige bestimmte Zeilen aus dem Sortierprozess mit jQuery tablesorter.js


 <thead> 
     <tr> 
      <th class="header">#</th> 
      <th class="header">Purchase Date</th> 
      <th class="header">Course Name</th> 
      <th class="header">Amount(in $)</th> 
      <th class="header">User Name</th> 
      <th class="header">Share</th> 
      <th class="header">Net Revenue [$236.41]</th> 
     </tr> 
     </thead> 
    <tbody> 

     <tr class="avoid-sort"> 
      <th colspan="7">Total Revenue</th> 
      <td>236.41</td> 
     </tr> 

     <tr> 
       <td>1</td> 
       <td>January 3rd, 2013</td> 
       <td>Tackle Certification</td> 
       <td>50</td> 
       <td>Khushi Jha</td> 
       <td>35</td> 
       <td>33.69</td> 
     </tr> 
     <tr> 
       <td>2</td> 
       <td>January 3rd, 2013</td> 
       <td>Flag Certification</td> 
       <td>100</td> 
       <td>Pay</td> 
       <td>70</td> 
       <td>67.67</td> 
     </tr> 
          <tr> 
       <td>3</td> 
       <td>January 3rd, 2013</td> 
       <td>Tackle Certification</td> 
       <td>50</td> 
       <!--     <td>--> 
        <!--</td>--> 
       <td>Pay</td> 
       <td>35</td> 
       <td>33.69</td> 

    </tr> 


tr class = "vermeiden zu sortieren" sollte nicht kommen in Sortieranlagen!

Bitte helfen Sie !!

+0

können Sie nicht verwenden jQuery ': nicht() '? –

Antwort

31

Sie haben zwei Möglichkeiten:

  1. Wenn Sie den ursprünglichen tablesorter verwenden, können Sie sich diese static row widget, um die Reihe an Ort und Stelle „sperren“.

  2. Wenn Sie meine fork of tablesorter verwenden, können Sie nur eine nicht-sortierbar tbody hinzuzufügen, wie folgt aus (demo):

    <table> 
    <thead> 
        ... 
    </thead> 
    
    <!-- rows within this tbody are ignored --> 
    <tbody class="avoid-sort"> 
        <tr> 
        <th colspan="7">Total Revenue</th> 
        <td>236.41</td> 
        </tr> 
    </tbody> 
    
    <tbody> 
        <!-- sortable rows --> 
        <tr> 
        ... 
        </tr> 
    </tbody> 
    </table> 
    

    dann die Tabelle wie folgt initialisieren:

    $(function() { 
    
        $("table").tablesorter({ 
        theme : 'blue', 
        cssInfoBlock : "avoid-sort", 
        widgets: [ 'zebra' ] 
        }); 
    
    }); 
    
+6

Danke für die Antwort - und auch für das Forking und die Pflege dieses Plugins - Ihre Version ist viel aktueller. Vielen Dank!!!! –

+1

Top-Sachen, ich hatte dieses Problem und cssInfoBlock behebt das Problem. Vielen Dank! –

+0

Vielen Dank dafür. Sie wissen nicht, wie sehr ich das schätze – finitenessofinfinity

-3
$(function() {  
$("#myTable").tablesorter({ 
     headers: {4: {sorter: false},8: {sorter: false}} 
    }); 
}); 

hier 4,8 sind Spaltennummern. Spalte beginnt mit 0

+0

Dies ist nicht gefragt in der Frage. Ihre Antwort wird die Sortierung für Spalten mit Index 4 und 8 deaktivieren. Die gestellte Frage möchte das Sortieren bestimmter Zeilen, nicht von Spalten, ignorieren. @ABDUL JAMAL –

0

In Mottie's fork die staticRow plugin is now built-in:

<script src="/js/tablesorter/jquery.tablesorter.min.js"></script> 
<script src="/js/tablesorter/widgets/widget-staticRow.min.js"></script> 
<!-- … --> 
<tr class="static">…</tr> 
$("table").tablesorter({ 
    widgets: ['staticRow'] 
}) 

Alternativ Sie einen benutzerdefinierten Klassennamen festlegen:

<tr class="tablesorter-static">…</tr> 
$("table").tablesorter({ 
    widgets: ['staticRow'], 
    widgetOptions: { 
     // Note it expects a CSS selector, not a raw class name 
     staticRow_class: ".tablesorter-static" 
    } 
}) 
Verwandte Themen