Javascript 使用JS插件排序表导致错误

Javascript 使用JS插件排序表导致错误,javascript,jquery,plugins,jquery-plugins,Javascript,Jquery,Plugins,Jquery Plugins,我的表格排序JS插件有问题。它的名字叫Sortable。我已经完成了文档中描述的所有设置。分拣工作正常,但存在日期和价格问题 例如,当我对日期列进行升序排序时,行看起来如下所示: 22.10.2018 23.02.2019 28.02.2019 28.12.2018 您可以在此处看到日期配置: 也许德语日期格式有问题,但我不知道如何解决这个问题。也许你可以看看?这真是太棒了 它是按字母顺序排序的。因为javascript date.parse无法解析德语日期格式。您应该添加自定义类型 下面是So

我的表格排序JS插件有问题。它的名字叫Sortable。我已经完成了文档中描述的所有设置。分拣工作正常,但存在日期和价格问题

例如,当我对日期列进行升序排序时,行看起来如下所示:

22.10.2018 23.02.2019 28.02.2019 28.12.2018 您可以在此处看到日期配置:


也许德语日期格式有问题,但我不知道如何解决这个问题。也许你可以看看?这真是太棒了

它是按字母顺序排序的。因为javascript date.parse无法解析德语日期格式。您应该添加自定义类型

下面是Sortable如何在内部设置默认值

sortable.setupTypes [{
  name: 'numeric'
  defaultSortDirection: 'descending'
  match: (a) -> a.match numberRegExp
  comparator: (a) -> parseFloat(a.replace(/[^0-9.-]/g, ''), 10) or 0
}, {
  name: 'date'
  defaultSortDirection: 'ascending'
  reverse: true
  match: (a) -> not isNaN Date.parse a
  comparator: (a) -> Date.parse(a) or 0
}, {
  name: 'alpha'
  defaultSortDirection: 'ascending'
  match: -> true
  compare: (a, b) -> a.localeCompare b
}]
注意日期类型的匹配和比较器。 将这些更改为:

  match: (a) -> not isNaN Date.parse a.split('.').reverse().join('.')
  comparator: (a) -> Date.parse(a.split('.').reverse().join('.')) or 0
并在sortable.init调用之后添加这些


顺便说一下,这是咖啡脚本。因此,请相应地使用它。

这就是我所尝试的。但它仍然排序不正确。可能是因为德国日期格式?是的,是因为德国日期格式。日期:2018年10月22日为NaN。日期类型实现使用此代码。您可以为此设置自定义类型我需要如何修改此项以达到我的目标?我更改了答案。请将死。很好,谢谢!你想帮我换一个过滤器吗?这是关于过滤价格,但有一点问题。我将用一个新问题来描述这一点。