データ属性に基づいてdivのリストをソートするスクリプトがあります。ソート関数は、IDに基づいてクリック可能なdivに結び付けられます。現在、divのいずれかをクリックすると、アイテムは正しくソートされますが、一度だけソートされます。昇順で並べ替えた後(上)、ページを更新しない限り降順で並べ替えることができません(下)。 jsfiddle:https://jsfiddle.net/4ttjxwme/2/ 以下はスクリプトですが、何か助けていただければ幸いです!onclickは1回だけソートします
<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>
サンプルを用意してください。 –
投稿にjsfiddleリンクを追加しました! – Tyharo
DIVを '.unsorted'でソートしています。しかし、ソートされたDIVを '.loadIndicators'に入れているので、ソートするために' .unsorted'の中に何も残っていません。 – Barmar