2 Stimmen

Jquery Elemente durch Sortierenwert verschieben

Ich habe ein Problem mit der Sortierung und Anordnung von Elementen. Zunächst muss ich Elemente nach einem Wert sortieren (zum Beispiel Preis, Datum, Name) und dann das Layout der Elemente auf der Seite entsprechend diesem Wert anwenden. Ich habe viele Plugins und Sortierfunktionen gefunden, aber sie ändern nur den Wert in den Elementen unter der Anordnung. Ich weiß nicht, wie man Elemente sortiert und dann die Position von ihnen entsprechend dem Sortierungswert ändert.

Zum Beispiel habe ich die HTML-Struktur:

    2500

    4300

    1800

    3871

Und das Ergebnis sollte sein (zum Beispiel sortieren und Elemente nach niedrigstem Preis verschieben):

    1800

    2500

    3871

    4300

Wie Sie sehen können, möchte ich die gesamte Anordnung der Elemente nach dem niedrigsten Preis ändern, nicht nur den Wert.

Wenn ein Guru weiß, wie man dies mit jQuery oder JavaScript macht, wäre ich ihm sehr dankbar.

Vielen Dank für die Antwort

5voto

Björn Punkte 2618

Ohne Verwendung von Plugins sollte dies funktionieren:

function comparePrice(a, b) {
  return (parseInt($(a).find(".price").text(), 10) - parseInt($(b).find(".price").text(), 10));
}

$("li").sort(comparePrice).appendTo("#page-wrap ul");

0voto

Marnix Punkte 6128

Ich denke, diese Insertionssortiermethode ändert die Position Ihrer Objekte:

http://www.tomgreenaway.com/2009/01/jquery-list-insertion-sort-plugin/

Ich denke, du musst es jedoch an deine eigenen Bedürfnisse anpassen, weil du nach dem Preis innerhalb des p sortieren möchtest.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X