Ich habe ein Skript, das eine Liste von divs basierend auf ihrem Datenattribut sortiert. Die Sortierfunktionen sind an klickbare divs basierend auf ID gebunden. Momentan, wenn ich auf eines der divs klicke, werden die Objekte korrekt sortiert, aber nur einmal. Nach der Sortierung in aufsteigender Reihenfolge (nach oben) kann ich nicht nach absteigend sortieren, außer wenn ich die Seite aktualisiere. jsfiddle: https://jsfiddle.net/4ttjxwme/2/ Unten ist das Skript, jede Hilfe wird geschätzt!Sortieren onclick funktioniert nur einmal
<script>
$(document).ready(function() {
$("#down").on('click', function(){
var sortedDivsDown = $(".unsorted").find("div").toArray().sort(sorterDown);
$.each(sortedDivsDown, function (index, value) {
$(".loanIndicators ").append(value);
});
function sorterDown(b, a) {
return b.getAttribute('rel') - a.getAttribute('rel');
};
});
});
$(document).ready(function() {
$("#up").on('click', function(){
var sortedDivsUp = $(".unsorted").find("div").toArray().sort(sorterUp);
$.each(sortedDivsUp, function (index, value) {
$(".loanIndicators ").append(value);
});
function sorterUp(a, b) {
return a.getAttribute('rel') - b.getAttribute('rel');
};
});
});
</script>
Pflege, um eine Probe zur Verfügung stellen? –
Ich habe gerade einen JSFiddle-Link zum Beitrag hinzugefügt! – Tyharo
Sie sortieren die DIVs in '.unsorted'. Aber du legst die sortierten DIVs in '.loadIndicators', so dass in' .unsorted' nichts mehr zu sortieren ist. – Barmar