2013-09-03 9 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

하기 위해 U 감사 여기에 시도 할 수 있습니다.

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

관련 문제