2013-12-13 3 views
1

Я создал сайт для местного магазина велосипедов Я часто посещаю, у меня в настоящее время размещается версия неживой на http://mattgreenfield.co.uk/bikestore/store.html.Проблемы с замечательным list.js и сортировка по цене

Я только что установил блестящий list.js (http://listjs.com), чтобы страница магазина сортировалась и фильтровалась (владелец не хочет продавать товары в Интернете, но чтобы получить клиентов, звонящих и посещающих магазин кирпича и миномета) ,

Кажется, что он работает очень хорошо, но сортировка по цене кнопки, похоже, не сортирует по цене, значения должны сортироваться с высокой до низкой, но нет. Было ли это связано с этим только сортировкой по первой цифре числа, возможно? Например, 4000 фунтов стерлингов сортируются как меньше, например, 479 фунтов стерлингов - первая цифра такая же, но 7 больше 0 (вторая цифра).

Возможно, я пропустил что-то простое, поскольку исходный пример, из которого я скопировал код, сортировался по годам, годам только 4 цифры, поэтому эта проблема не возникла.

+0

Пожалуйста, разместите код, который вы используете для настройки сортировки списка, иначе сложно сказать, что вы делаете по предоставленной вами ссылке. –

ответ

2

£3,799.99 на самом деле не цифра. Хотя мы, люди, можем легко игнорировать компьютеры с запятой и фунтом, не так умны. Решения заключаются в замене внутренних значений list.js на число сортируемых чисел с плавающей запятой.

// 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); 
}); 
+0

Блестящий. Благодаря! Я некоторое время стучал головой по этой проблеме, и это гораздо лучшее решение, чем то, о чем я думал. –

 Смежные вопросы

  • Нет связанных вопросов^_^