以欧洲货币格式对列表项进行排序

时间:2012-08-16 14:24:38

标签: jquery sorting locale currency

我目前正在制作一个包含大量产品的页面,需要按名称,受欢迎程度和价格进行排序。

我正在使用tinySort插件,该插件在使用其货币小数点的区域设置上完美运行,但在欧洲区域设置中效果不佳,将其价格定格为'12,95€'

基本上,我需要一个将price属性转换为可排序的数字的函数。

每个框使用以下代码

<li class="box" id="234860200" >
    <img src="#" alt="" class="packshot" title="">
    <p class="productTitle"></p>
    <div class="bottomAlign">
    <p><span class="price"></span> <span class="strikethrough strikeOFF"></span></p>

    <input id="" type="checkbox" name="product" data-price="" class="calculation-item" value=""/>
<label for="" class="calculation-label"><span class="checkboxTitle"></span><span class="defaultAdd">Add to Basket</span></label>
    </div>
    <div class="clear"></div>                     
</li>

排序按钮使用以下js

function priceLow() {
    $('ul#productList>li').tsort('span.price');
}

如果有人能帮助我,那就太棒了。

1 个答案:

答案 0 :(得分:0)

这应该这样做:

function priceLow() {
    $('ul#productList>li').tsort('span.price',
      {
         sortFunction: function(a,b) {
           var a_val = parseFloat(a.s.replace(/,/, "."));
           var b_val = parseFloat(b.s.replace(/,/, "."));

           return (a_val==b_val) ? 0 : ((a_val>b_val) ? 1 : -1);
         }
      }
    );
}