2013-09-03 3 views
0

Привет, я использую этот скрипт хорошо, моя проблема в том, что цена выше 2-го разряда не может работать хорошо. Пример: если цена продукта 120 не отсортирована правильно. Вы можете попробовать здесь http://jsfiddle.net/tc5dc/Невозможно сортировать по 3-значным цифрам

function sortUsingNestedText(parent, childSelector, keySelector) { 
var items = parent.children(childSelector).sort(function(a, b) { 
    var vA = $(keySelector, a).text(); 
    var vB = $(keySelector, b).text(); 
    return (vA < vB) ? -1 : (vA > vB) ? 1 : 0; 
    }); 
    parent.append(items); 
} 
sortUsingNestedText($('#sortThis'), "div", "span.price"); 

Спасибо и помочь

ответ

3

Когда вы сравниваете цену, вы должны бросить строку номер.

function sortUsingNestedText(parent, childSelector, keySelector) { 
    var items = parent.children(childSelector).sort(function (a, b) { 
     var vA = $(keySelector, a).text(); 
     var vB = $(keySelector, b).text(); 
     if (keySelector == 'span.price') { 
      vA = Number(vA); 
      vB = Number(vB); 
     } 

     return (vA < vB) ? -1 : (vA > vB) ? 1 : 0; 
    }); 
    parent.append(items); 
} 

http://jsfiddle.net/tc5dc/620/

+0

Спасибо U @ ÖzgürKaplan – MeDesKo

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