javascript - List.js - 按价格排序的问题(带有逗号和点的数字)

标签 javascript jquery sorting listjs

我已经为我经常访问的本地自行车商店建立了一个网站,目前我正在 http://mattgreenfield.co.uk/bikestore/store.html 托管一个非实时版本。 .

我刚刚安装了出色的 list.js ( http://listjs.com ),以使商店页面能够排序和过滤(店主不希望在线销售产品,而是让客户打电话并访问实体店)。

它似乎工作得很好,但按价格排序按钮似乎不是按价格排序,值应该从高到低排序,但事实并非如此。这是否与仅按数字的第一位进行排序有关?例如,4000 英镑似乎被排序为小于 479 英镑 - 第一个数字相同,但 7 大于 0(第二个数字)。

我可能错过了一些简单的事情,因为我复制代码的原始示例是按年份排序的,年份只有 4 位数字,因此不会出现此问题。

最佳答案

£3,799.99 并不是一个真正的数字。尽管我们人类很容易忽视逗号和井号,但计算机并不那么聪明。解决方案是将list.js的内部值替换为可排序的 float 。

// loop through the list
$.each(userList.items, function(k, item){
    var val = item._values; 
    // this strips anything that is not a dot or digit
    var price = item._values.price.replace(/[^\d\.]/g,"");
    item._values.price = parseFloat(price); 
});

关于javascript - List.js - 按价格排序的问题(带有逗号和点的数字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20562073/

相关文章:

javascript - 所需的防伪表单字段 __requestverificationtoken 不存在 ajax 调用时出错

javascript - 使用 J-query 数据表无法对美国日期格式进行自定义排序

javascript - 为什么不能从句柄中拖动 jQuery UI 可排序元素?

c++ - 逆序计数排序 vector 重新分配

PHP 按类型对目录中的文件进行排序

javascript - 计算对象属性给出与点表示法不同的结果

javascript - jQuery - 循环嵌套元素

javascript - 在 React Google Maps 中创建自定义按钮

javascript - 改变 <select> 的背景颜色

javascript - 创建一个简单的 JQuery 工具提示?