Div tabloları zaman formatına göre sıralama
Merhaba Aşağıdaki örnek resimdeki tabloyu
grup + zaman özelliklerine göre sıralamam gerekiyor.
bunun için uygun bir kütüphane yada kodunuz var mıdır ?
<div class="container">
<div class="filterDiv" data-group="A" data-time="2023-02-18 12:00:00">1 BMW</div>
<div class="filterDiv" data-group="" data-time="2023-02-18 12:30:12">2 Orange</div>
<div class="filterDiv" data-group="Z" data-time="2023-02-18 11:00:00">3 Volvo</div>
<div class="filterDiv" data-group="" data-time="2023-02-18 15:00:00">4 Red</div>
<div class="filterDiv" data-group="" data-time="2023-02-18 12:00:00">5 Mustang</div>
<div class="filterDiv" data-group="" data-time="2023-02-18 21:00:00">6 Blue</div>
<div class="filterDiv" data-group="A" data-time="2023-02-18 12:00:00">7 Cat</div>
<div class="filterDiv" data-group="" data-time="2023-02-18 12:00:00">8 Dog</div>
<div class="filterDiv" data-group="" data-time="2023-02-18 12:00:00">9 Melon</div>
<div class="filterDiv" data-group="Z" data-time="2023-02-18 12:00:00">10 Kiwi</div>
<div class="filterDiv" data-group="Z" data-time="2023-02-18 12:00:00">11 Banana</div>
<div class="filterDiv" data-group="" data-time="2023-02-18 12:00:00">12 Lemon</div>
<div class="filterDiv" data-group="" data-time="2023-02-18 12:00:00">13 Cow</div>
</div>
hatta olursa ilk 10 adetini göster
- sayfa için ileri butonları diye filtrelesin.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
Aslında aşağıdaki gibi çözdüm.
ama şimdi de farkettim ki şöyle birşey lazım :)
zamana göre dizerken gruba denk gelirse grubun en küçük zamanını baz alıp
diğerlerini görmezden gelip. grubun küçügünün yanına dizmem gerekiyor.
yani
1 2 3 A1 A2 A3 4 5 6 7
burada A2 ve A3 ün saatini görmezden gelip A1 in yanına dizmem gerekiyor.
var john = $.makeArray($(".filterDiv"));
john.sort(function(a, b) {
var aD = new Date($(a).data('newtime'));
var bD = new Date($(b).data('newtime'));
var aG = new Date($(a).data('group'));
var bG = new Date($(b).data('group'));
return (aG) - (bG) ||(aD) - (bD);
});
$(".container").html(john);
gruplamayı şöyle yapsan?
var john = $.makeArray($(".filterDiv[data-group='Z']"));
john.sort(function(a, b) {
var aDate = new Date($(a).data('time'));
var bDate = new Date($(b).data('time'));
return (bDate) - (aDate);
})
$(".container").html(john);
bu şekilde zaman döngüsünü sıralıyorum. ama grubu ekleyemiyorum :(
<script>
var john = $.makeArray($(".filterDiv"));
john.sort(function(a, b) {
var aDate = new Date($(a).data('time'));
var bDate = new Date($(b).data('time'));
return (bDate) - (aDate);
});
$(".container").html(john);
</script>