jQuery: การเรียงลำดับไอโซโทปตามวันที่

ฉันกำลังจัดเรียงตาราง div ตามวันที่ แต่ฉันประสบปัญหา div กำลังจัดเรียงตามวันที่ แต่เมื่อคุณแนะนำเดือนอื่น จะไม่คำนึงถึงสิ่งนั้น และจะจัดเรียงตามค่าวันเท่านั้น

HTML:

<div class="grid-filter">
    <a href="/th#">
    <div class="grid-block" style="background-color: #46747c" data-category="1952013">
        <div class="block-text date-title">19/05</div>
    </div>
    </a>
</div>
<div class="grid-filter">
    <a href="/th#">
    <div class="grid-block" style="background-color: #ebd133" data-category="2552013">
        <div class="block-text date-title">25/05</div>
    </div>
    </a>
</div>
<div class="grid-filter">
    <a href="/th#">
    <div class="grid-block" style="background-color: #cc7788" data-category="3052013">
        <div class="block-text date-title">30/05</div>
    </div>
    </a>
</div>
<div class="grid-filter">
    <a href="/th#">
    <div class="grid-block" style="background-color: #46747c" data-category="0562013">
        <div class="block-text date-title">05/06</div>
    </div>
    </a>
</div>


เจคิวรี่

 jQuery(document).ready(function(){

var jQuerycontainer = jQuery('#main-grid');

if(location.hash!=""){
    var hashfilter = "." + location.hash.substr(1);
    }
    else{
    var hashfilter = "*";
    }

jQuerycontainer.imagesLoaded( function(){
jQuerycontainer.isotope({
    filter: hashfilter,
    itemSelector: '.grid-block',
    getSortData : {
    date : function( jQueryelem ) {
    return jQueryelem.attr('data-category');
    }
    },
    sortBy : 'date',
    animationEngine: 'css',
    masonry: {
    columnWidth: 4
    }

});
});

jQuery('.filter-menu a').click(function(){
    var selector = jQuery(this).attr('data-filter');
    var prettyselector = selector.substr(1);
    location.hash = prettyselector;
    jQuery('html, body').animate({scrollTop:0}, 'slow');
    return false;
    });

jQuery('.grid-filter a').click(function(){
    var selector = jQuery(this).attr('data-filter');
    var prettyselector = selector.substr(1);
    location.hash = prettyselector;
    jQuery('html, body').animate({scrollTop:0}, 'slow');
    return false;
    }); 

jQuery(window).hashchange(function(){

                if(location.hash!=""){
                    var hashfilter = "." + location.hash.substr(1);
                }
                else{
                    var hashfilter = "*";
                }


jQuerycontainer.imagesLoaded( function(){
jQuerycontainer.isotope({
    filter: hashfilter,
    itemSelector: '.grid-block',
    getSortData : {
    date : function( jQueryelem ) {
    return jQueryelem.attr('data-category');
    }
    },
    sortBy : 'date',
    animationEngine: 'css',
    masonry: {
    columnWidth: 4
    }
});
});
});
});

ดังนั้นบล็อกกำลังถูกจัดเรียง แต่บล็อกสุดท้ายที่มีวันที่ 0562013 ปรากฏก่อนเนื่องจาก 05 เป็นตัวเลขที่น้อยที่สุดที่ฉันถือว่า มีวิธีใดที่จะคำนึงถึงเดือนด้วยเพื่อที่มันจะเรียงลำดับ div ตามวันที่ได้สำเร็จ


person user1374796    schedule 07.03.2013    source แหล่งที่มา


คำตอบ (2)


คุณต้องเปลี่ยนรูปแบบวันที่ของคุณ ในตอนนี้ คุณไม่สามารถแยกความแตกต่างระหว่างวันและเดือนได้: 2122013 อาจเป็น 2.12.2013 และ 21.2.2013

ฉันอยากจะแนะนำรูปแบบทั่วไป Y-M-D (ปี-เดือน-วัน เช่น 2013-03-07)
สามารถจัดเรียงตามค่าเริ่มต้นได้ คุณไม่จำเป็นต้องเปลี่ยนแปลงอะไรอีก

person kapex    schedule 07.03.2013

person    schedule
comment
ดูเหมือนจะใช้งานไม่ได้ ดูเหมือนจะไม่จัดเรียง div ตามวันที่ใช่ไหม - person user1374796; 07.03.2013
comment
ฉันลองอันที่แก้ไขแล้วด้วย ดูเหมือนว่าจะเรียงลำดับ div แบบสุ่ม ฉันเห็นว่าคุณเปลี่ยนกลับเป็นอันที่กล่าวมาข้างต้น ฉันได้ลองแก้ไขแล้ว แต่ยังใช้งานไม่ได้ใช่ไหม - person user1374796; 08.03.2013
comment
คุณสามารถเปลี่ยนวิธีการสร้างวันที่โดยการเพิ่ม 0 เข้ากับเดือนได้หรือไม่? - person TizianoPiccardi; 08.03.2013
comment
ฉันสามารถอยู่ในหน้านี้ใช่ ฉันเปลี่ยน php แล้ว วันที่ที่สร้างตอนนี้มีศูนย์นำหน้า ตอนนี้มีวิธีจัดเรียงตามวันที่ได้สำเร็จหรือไม่ - person user1374796; 08.03.2013
comment
ฉันแก้ไขคำตอบเพื่อให้คุณบรรลุเป้าหมาย อย่างไรก็ตาม หากคุณสามารถสร้างวันที่ได้ตามที่คุณต้องการ ก็จะเป็นการง่ายกว่าที่จะคืนค่าในรูปแบบนี้ (yyyymmdd) โดยตรงจากหน้า php ของคุณ (คุณไม่จำเป็นต้องมีการปรับจาวาสคริปต์นี้) - person TizianoPiccardi; 08.03.2013