문제

jQuery 플러그인에 대한 커스텀 파서를 작성하려고합니다. 테이블 리터. 아이디어는 첫 번째 클릭시 숫자를 내림차순으로 정렬하는 것입니다.

그러나 테이블을 정렬하면 순서가 변경되지 않습니다. 때로는 몇 줄이 움직이지만 대부분은 동일하게 유지됩니다. 코드는 다음과 같습니다.

$.tablesorter.addParser({
    id: 'desc',
    is: function(s) { return false },
    format: function(s) {
        return 1.0 / parseFloat( s.replace(/,/g,'') );
    },
    type: 'numeric'
});

내가 쓴 다른 파서는 잘 작동합니다. 플로트에 문제가있는 경우 1.0 대신 숫자를 1.0 대신 숫자로 뺀 값을 뺀 시도를 시도했습니다 (운이 없음).

도움이 되었습니까?

해결책

해결책을 찾았습니다. 각 열에 빈 셀이 있었는데,이 셀은 "Nan"으로 구문 분석되었습니다. 이것이 주문을 망쳐 놓은 이유는 모르겠습니다 (빈 셀은 간헐적으로 일반 숫자로 간격을 두었고 아무것도 순서가 없었습니다).

요컨대,이 코드는 형식 기능에 대해 작동합니다.

 format: function(s) {
  if ( s == '' )
   return 0;  
  return -parseInt( s.replace(/,/g,'') );
 }

다른 팁

리버스 숫자 순서로 무언가를 정렬하려면 자연스러운 방법은 시도한 방법보다는 -1을 곱하는 것입니다.

파서 자체에 관해서는, 내가 주목하는 유일한 차이점은 실제 숫자를 반환하는 반면 파서 예제 테이블 orter 사이트에서 문자열을 반환합니다. 반환하기 전에 값을 문자열로 다시 변환하면 작동합니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top