Knockout.js 格式为';dd/mmm/yyyy';

Knockout.js 格式为';dd/mmm/yyyy';,knockout.js,Knockout.js,我想在点击按钮时按升序和降序对上述数据进行排序。 请帮帮我 提前感谢。有很多方法可以对可观察的日历进行排序 选项1 只需使用字符串排序 视图模型 var data=ko.observableArray[( {mydate:'01 Jan 1997'}, {mydate:'01 Aug 1977'}, )]; <ul data-bind="foreach:stringSortInstances "> <li data-bind="text:$data.mydate"&

我想在点击按钮时按升序和降序对上述数据进行排序。 请帮帮我


提前感谢。

有很多方法可以对可观察的日历进行排序

选项1 只需使用字符串排序

视图模型

var data=ko.observableArray[(
{mydate:'01 Jan 1997'},
{mydate:'01 Aug 1977'},
)];
<ul data-bind="foreach:stringSortInstances ">
     <li data-bind="text:$data.mydate"></li>
 </ul>
HTML

$(function () {
function VM() {
var self = this;
self.data = ko.observableArray([
    {mydate: '01 Jan 1997'},
    {mydate: '01 Aug 1977'},
]);
self.stringSort = function (a, b) {
    return a.mydate.toLowerCase() > b.mydate.toLowerCase() ? 1 : -1;
};
self.stringSortInstances = ko.dependentObservable(function () {
    return self.data.slice().sort(self.stringSort);
}, self);

}
ko.applyBindings(new VM());
});
html

$(function () {
function VM() {
self.dataInUniDateFormate = ko.observableArray([
    {mydate: '1997/01/01'},
    {mydate: '1977/08/01'},
]);
self.dateSort = function (a, b) {
    return new Date(a.mydate) > new Date(b.mydate) ? 1 : -1;
};
self.DateSortInstances = ko.dependentObservable(function () {
    return self.dataInUniDateFormate.slice().sort(self.dateSort);
}, self);
}
ko.applyBindings(new VM());
});
日期排序

选项3您可以使用一些外部插件将字符串转换为日期,然后进行排序。您可以使用或任何其他日期转换插件


谢谢,如果有帮助,请告诉我。

@prasadparab然后将其标记为答案,也许将来它会帮助其他人。
 <p>Date Sort</p>
        <ul data-bind="foreach:DateSortInstances">
            <li data-bind="text:$data.mydate"></li>
        </ul>