v2.5.2
Giriş yap

Div tabloları zaman formatına göre sıralama

istek61
329 defa görüntülendi ve 1 kişi tarafından değerlendirildi

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

      1. sayfa için ileri butonları diye filtrelesin.
Cevap yaz
Cevaplar (3)
istek61
645 gün önce

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);
tayfunerbilen
645 gün önce

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);
istek61
645 gün önce

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>