Hallo Gunnar,
und du meinst, ein
var tval = val.replace(/\s/g,"");
ist da schon zu kompliziert und sollte ausgelagert werden?Wenn’s denn dieser Einzeiler ist, kann er auch drinbleiben und in einem Satz erklärt werden. Vielleicht auch erwähnen, warum man nur Leerzeichen behandelt, nicht Punkt und Komma …
Das wäre ein Fass ohne Boden. Was dem einen sein Tausendertrennzeichen, ist dem anderen sein Dezimaltrennzeichen.
ich glaube, die Internationalisierung lasse ich im Wiki lieber weg. Ich lasse es, wie es ist und vereinfache nur den Regex.
Vielleicht kamm man aber auch einen anderen Weg gehen. Die Zahlen kommen doch aus einer Quelle, wo sie nicht regional formatiert vorliegen? Die könnte man also unterbringen und müsste nicht die regional formatierte Form zurückkonvertieren:
<span data-value="9876.50">9.876,50</span>
Bei vorhandenem
data-value
-Attribut nimmt der Tabellensortierer dessen Wert, nicht den Elementinhalt.
in meiner umfangreicheren Version ist das schon drin.
Was sagen eigentlich Screenreader zu Tausendertrennzeichen? Womöglich braucht man’s sogar so:
<span data-value="9876.50"> <span aria-hidden="true">9.876,50</span> <span class="visually-hidden">9876,50</span> </span>
ich vermute mal, das viele Anwender meines Tabellensortierers mit dem Thema A11Y noch nie zu tun hatten. Und da ich den Sortierer, nicht aber die Tabellen liefere, habe ich darauf auch keinen Einfluss. Wenn aber jemand mit so einer Tabelle käme, würde ich wahrscheinlich sogar eine Einzellösung basteln. Wenn aber das äußere span ein td ist, funktioniert es jetzt schon, nur das ich statt data-value ein data-sort_key erwarte.
Gruß
Jürgen