簡體   English   中英

在ajax中按日期對表進行排序

[英]Sort table column by date in ajax

我有一個表,使用ajax點擊按鈕時顯示。 這是一段代碼片段:

myBtn.on("click", function() {
    displayTable();
});

function displayTable(){
    $.ajax({
        url:'url to a function in controller',
        type: "GET",
        //data: {val : val},
        dataType: 'json',
        success: function(data){  

            // some codes here

            $.each(data.documents, function(key, value){                        
                $("#myTable")
                .append(
                    "<tr class='" + rowClass + "'><td class='text-center'>" +                       
                        value.title +
                    "</td><td class='text-center'>" +               
                        value.time1.replace(/-/g, "/") +
                    "</td><td class='text-center'>" +                  
                        value.time2.replace(/-/g, "/") +
                    "</td></tr>"
                );
            });
        }
    });
}

在此之后,將顯示一個表,但不按日期排序( value.time2 )。 我嘗試了這個但沒有工作:

$("#myTable thead tr").find('th').eq(3).sort(function(a,b){
    return new Date($(a).value.time2) > new Date($(b).value.time2);
});

你知道怎么做嗎? 我如何按日期排序( value.time2 )?

最好的方法是請求服務器為您排序值。 但是,如果需要在客戶端執行此操作,則可以在將data.documents添加到頁面之前對其進行簡單排序。 例如:

        data.documents = data.documents.map(function(item) {
            // Fix display
            item.time1 = item.time1.replace(/-/g, "/");
            item.time2 = item.time2.replace(/-/g, "/");
            return item;
        });
        data.documents.sort(function(a, b) {
            // Custom sorting function
            return new Date(a.time2) > new Date(b.time2);
        });

        $.each(data.documents, function(key, value){                        
            $("#myTable")
            .append(
                "<tr class='" + rowClass + "'><td class='text-center'>" +                       
                    value.title +
                "</td><td class='text-center'>" +               
                    value.time1 +
                "</td><td class='text-center'>" +                  
                    value.time2 +
                "</td></tr>"
            );
        });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM