Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 以欧洲货币格式对列表项进行排序_Jquery_Sorting_Locale_Currency - Fatal编程技术网

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

Jquery 以欧洲货币格式对列表项进行排序,jquery,sorting,locale,currency,Jquery,Sorting,Locale,Currency,我目前正在制作一个页面,上面有大量的产品,需要按名称、流行度和价格进行排序 我使用的是tinySort插件,它在货币中使用小数点的地区非常有效,但在欧洲地区的价格格式为“12,95欧元”的地区效果不太好 基本上,我需要一个函数,将price属性转换为可排序的数字 每个框使用以下代码 <li class="box" id="234860200" > <img src="#" alt="" class="packshot" title=""> <p cl

我目前正在制作一个页面,上面有大量的产品,需要按名称、流行度和价格进行排序

我使用的是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>
如果有人能帮助我,那太棒了。

这应该可以:

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);
         }
      }
    );
}
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);
         }
      }
    );
}