Markus: Sortierfunktion?

Hi Leute

Möchte eine spezielle Sortierung für ein Dropdown erstellen:

es gibt die Funktion sort() dann siehts so aus:

Bezirk
Wels
Wels-Land
Wien I.
Wien II.
Wien III.
Wien IV.
Wien IX.
Wien V.
Wien VI.
Wien VII.
Wien VIII.
Wien X.
Wien XI.
Wien XII.
Wien XIII.
Wien XIV.
Wien XIX.
Wien XV.
Wien XVI.
Wien XVII.
Wien XVIII.
Wien XX.
Wien XXI.
Wien XXII.
Wien XXIII.
Wien-Umgebung
Wiener Neustadt

sollte aber so ausehen bzw. die römischen Zahlen:

Bezirk
Wels
Wels-Land
Wien I.
Wien II.
Wien III.
Wien IV.
Wien V.
Wien VI.
Wien VII.
Wien VIII.
Wien IX.
Wien X.
Wien XI.
Wien XII.
Wien XIII.
Wien XIV.
Wien XV.
Wien XVI.
Wien XVII.
Wien XVIII.
Wien XIX.
Wien XX.
Wien XXI.
Wien XXII.
Wien XXIII.
Wien-Umgebung
Wiener Neustadt

Wie könnte ich das realisieren?

Hab mal so was änliches wie:

function byIndex1(a,b)
{
if (a[1]<b[1]) return 1;
else if (b[1]<a[1]) return -1;
else return 0;
}

probiert. sort(Index1)

Soll aber nicht stimmen bzw. nicht überall funktionieren.

Wer hat da eine Idee?

MFG
Markus

  1. Hallo,

    Möchte eine spezielle Sortierung für ein Dropdown erstellen:

    es gibt die Funktion sort() dann siehts so aus:

    Bezirk
    Wels
    Wels-Land
    Wien I.
    Wien II.
    Wien III.
    Wien IV.
    Wien IX.
    Wien V.
    Wien VI.
    Wien VII.
    Wien VIII.
    Wien X.
    Wien XI.
    Wien XII.
    Wien XIII.
    Wien XIV.
    Wien XIX.
    Wien XV.
    Wien XVI.
    Wien XVII.
    Wien XVIII.
    Wien XX.
    Wien XXI.
    Wien XXII.
    Wien XXIII.
    Wien-Umgebung
    Wiener Neustadt

    sollte aber so ausehen bzw. die römischen Zahlen:

    Bezirk
    Wels
    Wels-Land
    Wien I.
    Wien II.
    Wien III.
    Wien IV.
    Wien V.
    Wien VI.
    Wien VII.
    Wien VIII.
    Wien IX.
    Wien X.
    Wien XI.
    Wien XII.
    Wien XIII.
    Wien XIV.
    Wien XV.
    Wien XVI.
    Wien XVII.
    Wien XVIII.
    Wien XIX.
    Wien XX.
    Wien XXI.
    Wien XXII.
    Wien XXIII.
    Wien-Umgebung
    Wiener Neustadt

    Wie könnte ich das realisieren?

    Um römischen Zahlen zu sortieren, musst Du diese in arabische Zahlen umwandeln und nach diesen dann sortieren.
    http://www.free-solutions.de/js/tool_zahlen_roemisch-dezimal_converter.html

    Insgesamt viel Arbeit in der sort-Routine:
    function byIndex1(a,b) {

    • Text und römische Zahl in a und b trennen - ta, tb, rzA, rzB
    • römische Zahlen rzA und rzB in arabische aA und aB wandeln
    • Rückgabe aA - aB
      }

    viele Grüße

    Axel