2014-02-18 4 views
1

tablesorter는 정확하게 1 열을 정렬하지 않지만 다른 하나는 정렬합니다.jquery tablesorter가 음수 통화를 올바르게 정렬하지 않음

몇 가지 다른 맞춤 구문 분석기를 사용해 보았지만 아무 것도 작동하지 않는 것 같습니다. 여기

http://jsfiddle.net/jybMB/

format: function(s) { 
      // format your data for normalization 

      var value = replaceAll(',','',s.toLowerCase()); 

      //value = replaceAll('-','',value); 

      //return parseFloat(value.replace('$', '')); 

      return $.tablesorter.formatFloat(value.replace(new  RegExp(/[^0-9-.]/g),"")); 
     }, 

당신은 COL1이 올바르게 정렬하지만 Col2의가하는 얻을하지 않습니다 것을 볼 수있는 예를 참조하십시오. 나는 그것이 음의 기호와 관련이 있다고 생각하지만, Col2가 사용자 지정 파서없이 작동한다는 것은 이상한 일이다.

+0

문제는'$에 ("#의 servicesTable") tablesorter' 기능.. @Brandon에서 제공 한 코드로 바꾸면 (그리고 동일한 id를 사용하면) 코드가 [fiddle] (http://jsfiddle.net/nT5qq/)로 작동합니다. 그렇지 않으면 구문 분석기의 코드가 실행되지 않습니다. return 문 앞에 alert ("hello")를 추가했는데 해고되지 않았습니다. –

+0

이 문제를 공유해 주셔서 감사합니다! 다음 업데이트에서 통화 구문 분석기를 수정하도록하겠습니다. 그래서 통화 기호 뒤에 음수가있는 통화를 자동으로 감지합니다. – Mottie

+0

@AB 코드는 잘 작동하지 않지만 ID를 변경하면 코드가 실행되지 않습니다. 시도하는 테이블과 동일한 ID 여야합니다. 이전에 파서 함수에 경고를했는데 경고가 표시되지 않지만 파싱이 작업자임을 알으십시오 – user2760338

답변

4

어떻게 이런 일에 대해 :

Live Demo

$.tablesorter.addParser({ 
    // set a unique id 
    id: 'money', 
    is: function(s) { 
     // return false so this parser is not auto detected 
     return false; 
    }, 
    format: function(s) { 
     return parseInt(s.replace(/\$/,'').replace(/\,/,''),10); 
    }, 
    // set type, either numeric or text 
    type: 'numeric' 
}); 


$("#servicesTable").tablesorter({ 
    sortList: [[0,1]], 
    headers: 
    { 
     0 : { sorter: "money" }, 
     1 : { sorter: "money" }   
    } 
}); 
+0

감사합니다. – user2760338

관련 문제