contao/test — Issue #1529: tablesort.js und negative Zahlen
Author: importer
Created: 2011-11-29 08:05:00+00:00
State: open
Labels: Defect, plugins

```
aa = a.cells[SORT_INDEX].innerHTML.replace(/<[^>]+>/i).replace(/[^0-9\.]/g, '').clean();
```

sollte m.E.

```
aa = a.cells[SORT_INDEX].innerHTML.replace(/<[^>]+>/i).replace(/[^-0-9\.]/g, '').clean();
```

lauten (Minuszeichen hinzugefügt), damit auch negative Zahlen korrekt sortiert werden.

Bei der Fallunterscheidung wie sortiert werden soll ist das "-" im RegExp bereits berücksichtigt.

Erweiterungsvorschlag/wunsch an gleicher Stelle: Möglichkeit, auch Zahlen mit Dezimaltrennzeichen ',' sortieren zu können.

Vorschlag:

```
var SORT_DEC_SEP = '.';

// ...

initialize: function(id, options)
{

// ...

if (options && options.dec_sep) { SORT_DEC_SEP = options.dec_sep; }

// ...

}

// ...

sortNumeric: function(a, b)
{
// ...

switch (SORT_DEC_SEP)
{
case ',': // Locale DE und negative Zahlen!
aa = a.cells[SORT_INDEX].innerHTML.replace(/<[^>]+>/i).replace(/[^-0-9,]/g, '').clean();
bb = b.cells[SORT_INDEX].innerHTML.replace(/<[^>]+>/i).replace(/[^-0-9,]/g, '').clean();
break;

default: // altes Verhalten
aa = a.cells[SORT_INDEX].innerHTML.replace(/<[^>]+>/i).replace(/[^0-9\.]/g, '').clean();
bb = b.cells[SORT_INDEX].innerHTML.replace(/<[^>]+>/i).replace(/[^0-9\.]/g, '').clean();
}

// ...
}
```

Related issues: #1539, #2289

--- _Originally created by fiedsch on February 8th, 2010, at 03:55pm (ID 1529)_