gpt4 book ai didi

datatables - 当日期是链接时,使用 moment.js 对日期进行排序不起作用

转载 作者:行者123 更新时间:2023-12-02 04:23:06 24 4
gpt4 key购买 nike

我正在使用 DataTables 1.10.5。当我尝试使用推荐的 moment.js (根据 http://datatables.net/blog/2014-12-18 )对日期进行排序时,认为工作正常:

http://jsfiddle.net/9gohzd9t/1/

但是,当我添加指向该日期的链接 (a href) 时,它会按链接而不是日期进行排序:

http://jsfiddle.net/dnsL2oc4/1/

知道如何在没有太多黑客攻击的情况下正确解决这个问题吗?

最佳答案

问题出在datetime-moment.js的unshift方法上。 Moment尝试转换<a href="12.html">12-01-2001</a>给定的“DD-MM-YYYY”格式中的有效日期,但显然不能。因此,您必须将 html 从日期中删除,可能使用如下函数:

function strip(html) {
var tmp = document.createElement("DIV");
tmp.innerHTML = html;
return tmp.textContent || tmp.innerText || "";
}

然后在unshift方法中剥离字符串(用下面的代码替换datetime-moment.js):

$.fn.dataTable.moment = function (format, locale) {
var types = $.fn.dataTable.ext.type;

// Add type detection
types.detect.unshift(function (d) {
return moment(strip(d), format, locale, true).isValid() ?
'moment-' + format :
null;
});

// Add sorting method - use an integer for the sorting
types.order['moment-' + format + '-pre'] = function (d) {
return moment(strip(d), format, locale, true).unix();
};
};

关于datatables - 当日期是链接时,使用 moment.js 对日期进行排序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28864853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com