Sort List of items by date data attribute

by thomas_david88

HTML

<input type="date" onclick="chat_order()" id="datepick"/>
<ul class="sort-list">
    <li class="sort-item" data-event-date="2018-06-30 ">3</li>
    <li class="sort-item" data-event-date="2018-06-29 ">2</li>
    <li class="sort-item" data-event-date="2018-06-27 ">1</li>
    <li class="sort-item" data-event-date="2018-07-01 ">4</li>
    <li class="sort-item" data-event-date="2019-09-29 ">Septembre</li>

</ul>

<button >
test
</button>

JavaScript

function chat_order() {
    var container = $(".sort-list");
    var items = $(".sort-item");
    
    items.each(function() {
       // Convert the string in 'data-event-date' attribute to a more
       // standardized date format
       var BCDate = $(this).attr("data-event-date");
       /*console.log(BCDate);
       var standardDate = BCDate[1]+" "+BCDate[0]+" "+BCDate[2];*/
       var standartDate = new Date(BCDate).getTime();
       $(this).attr("data-event-date", standartDate);
 				console.log(standartDate);
    });
    

    items.sort(function(a,b){
        a = parseFloat($("#datepick").val());
        b = parseFloat($(b).attr("data-event-date"));
        return a>b ? -1 : a<b ? 1 : 0;
    }).each(function(){
        container.prepend(this);
    });

}

/* This script sorts your list in descending order... to change it to ascending order change the "less than" operator (<) to "greater than" (>) */