Come faccio a ordinare una colonna che contiene due div con jQuery Tablesorter?

Sto usando jQuery Tablesorter per ordinare un tavolo. Una delle mie colonne ha questo aspetto:

    

In altre parole, ci sono due div, uno per mostrare in verde con un collegamento e l’altro per mostrare No in rosso con un collegamento. Uno dei div è sempre nascosto e i due vengono triggersti ​​ogni volta che l’utente fa clic sul link.

jQuery Tablesorter non può ordinare su questa colonna. C’è un modo per farlo, o devo modificare l’HTML per farlo funzionare?

È ansible utilizzare la callback textExtraction :

 $(document).ready(function() { // call the tablesorter plugin $("table").tablesorter({ // define a custom text extraction function textExtraction: function(node) { // check you're at the right column if ($(node).find('.green').length == 1) { // extract data from markup and return it return $(node).find('div:not(.hidden)').find('span').text();; } else { return $(node).text(); } } }); }); 

Non l’ho provato ma dovrebbe funzionare in teoria

ti consigliamo di esaminare la creazione di un parser personalizzato . è piuttosto semplice, basta specificare come interpretare il valore nella cella passando una funzione al campo formato.

Un modo generico per ordinare qualsiasi tipo di colonna, indipendentemente dal modo in cui il contenuto è complesso: aggiungi l’attributo ‘ordinato’ al valore ‘fill’ ordinato ‘sul lato server in base all’ordine preffered, (che è più facile rispetto a javascript).

per esempio

       
No<>/a> (verify)

quindi aggiungi il seguente codice in $ (function ()

 $("table.tablesorter").tablesorter({ textExtraction: function(node){ return $(node).attr("sorter"); } });