2011-04-13 2 views
4

검색 한 후 첫 번째 열을 영국 날짜 형식으로 정렬 할 수없는 것 같습니다 - dd/mm/yyyy 누구든지 나를 도울 수 있습니까? 이 문제는? 현재 JS는 다음과 같습니다jquery 테이블 분류기 - dd/mm/yyyy 파서

$(document).ready(function() 
{ 
    $("table.tablecontainer").tablesorter({widgets: ['zebra']}); 

    $("#myTable").tablesorter({ 
       sortList: [[0,0]], 
     headers: { 
      5:{ 
       sorter: false 
      } 
     } 
    }); 
}); 

이 같은 평가 모든 도움을 내가 클래스에서 모두 자신을 능숙 할 수있는 영역이 아니다!

업데이트 코드 :

$(document).ready(function() 
{ 
    $("#myTable").tablesorter({widgets: ['zebra']}); 
    $("#myTable").tableSorter({dateFormat: "uk"}); 
    $("#myTable").tablesorter({ 
    sortList: [[0,0]], 
    headers: { 
    // assign the sixth column (we start counting zero) 
    5:{ 
    // this is header 6 since the headers start at 0 
     // disable it by setting the property sorter to false 
    sorter: false 
    }, 
    }}); 
}); 
+0

그에 따라 답변을 수정했습니다 – Guidhouse

답변

8

나는 개인적으로 tablesorter.com 0에서 JQuery와 tablesorter에 스크립트를 사용하여의 dateFormat- 속성을 "uk"로 설정하십시오.

$("#myTable").tablesorter({ 
     widgets: ['zebra'], 
     dateFormat: "uk", 
     sortList: [[0, 0]], 
     headers: { 5: { sorter: false}} 
    }); 

다른 옵션으로 여러 번 스크립트를 호출하면 불쌍한 라이브러리를 혼란스럽게합니다.

위에서 설명한대로 모든 다른 옵션이 설정된 tablesorter를 한 번만 호출하십시오.

얼룩말 위젯을 검사하지 않았지만 나머지는 지금과 같이 동작합니다. 날짜 형식을 설정

+0

@Guidehouse - 잠자리에 들지 않는 한 할 수 있습니다. 이 게시물의 맨 위에있는 코드를 수정 한 것으로 보입니다. 도와 주시겠습니까? – Motley9735

+0

@ Motley9735 - 좋은 밤 잠 후. 나에게있어 문제는 실제로 dateformat에 대한 옵션을 찾는 것이 아니라 몇 가지 옵션으로 스크립트를 호출하는 방법이었다. 이에 따라 답변을 수정했습니다. 이게 당신을 도울 수 있기를 바랍니다 :-) – Guidhouse

+0

@guidehouse - 좋아, 좋은 밤 잠이 자고 이제는 훨씬 더 분명해 보입니다. zzzz는 항상 도움이됩니다! 여기에서 나를 도와 주셔서 대단히 감사합니다. – Motley9735

5

당신은 이것에 대한 parser를 정의 할 필요가있다. 예 :

// add parser through the tablesorter addParser method 
$.tablesorter.addParser({ 
    // set a unique id 
    id: 'uk-date', 
    is: function(s) { 
     // return false so this parser is not auto detected 
     return false; 
    }, 
    format: function(s) { 
     var date = s.split('/'); 
     return new Date(date[2],date[1],date[0]).getTime(); 
    }, 
    // set type, either numeric or text 
    type: 'numeric' 
}); 

이것은 더 나은 형식 검사와 관련이 있습니다. 쉽게 업그레이드 할 수 있도록 별도의 스크립트에서 파서를 tablesorter 플러그인에 정의하는 것이 좋습니다. tablesters 스크립트 다음에 <script> 태그의 파서 스크립트를 참조하십시오.

$(function() { 
    $("table").tablesorter({ 
     headers: { 
      1: { 
       sorter:'uk-date' 
      } 
     } 
    }); 
}); 
+1

tablesorter에 u-format 형식의 날짜에 대한 파서가 이미 있습니다.이 형식은 s = s.replace (/ (\ d {1,2}) [\/\ -] \ d {1,2}) [\/\ -] (\ d {4}) /, "$ 3/$ 2/$ 1"); ;-) – Guidhouse

+0

@guidhouse - 전화하세요 :) –

+0

@RussCam 1 개 이상의 파서를 추가해야하는 경우 ... – nirav

0

이 질문을 블리치처럼 사용하려면

는 것,하지만 난 단지 (여기 참조 : http://tablesorter.com/docs/#Configuration을)를 textExtraction 옵션을 구성 할 수

그냥 숨겨진 기간에 정렬 가능한 날짜를 넣을 수 있습니다 (클래스 = 아래 'sort_key') 및 설정 뭔가 같은 :

textExtraction: function(node) { 
    if($j(node).find('.sort_key').is('span') { 
    return $j(node).find('.sort_key').text(); 
    } else { 
    return $j(node).text(); 
    } 
} 
+0

답변 해 주셔서 감사합니다. – Motley9735

0

http://mottie.github.io/tablesorter/docs/

:-) 여러분의 노력과

행운을 빕니다. 사용 가능한 옵션은 다음과 같습니다. (v2.0.23 수정).

  • "MMDDYYYY"(기본값)
  • "DDMMYYYY"
  • 는 "YYYYMMDD"이전 버전의

,이 옵션을 "우리", "영국"또는 "일 /로 설정 mm/yy "로 표시됩니다. 이 옵션은 필요한 날짜 형식에 더 잘 맞도록 수정되었습니다. 4 자리 연도로만 작동합니다!

분류기는 "shortDate"로 설정되어야하며 날짜 형식은 "dateFormat"옵션에서 설정하거나 "headers"옵션 내의 특정 열에 대해 설정할 수 있습니다. 데모 페이지가 제대로 작동하는지 확인하십시오."

  • jQuery를 데이터 데이터 dateFormat는 =

    $(function(){ 
        $("table").tablesorter({ 
    
        dateFormat : "mmddyyyy", // default date format 
    
        // or to change the format for specific columns, 
        // add the dateFormat to the headers option: 
        headers: { 
         0: { sorter: "shortDate" }, // "shortDate" with the default dateFormat above 
         1: { sorter: "shortDate", dateFormat: "ddmmyyyy" }, // day first format 
         2: { sorter: "shortDate", dateFormat: "yyyymmdd" } // year first format 
        } 
    
        }); 
    }); 
    

    개별 열 우선 (변형 v2.3.1)의 순서로 설정된 상기 (모두 동일한 일을 할) 다음의 추가에 의해 변경 될 수있다 mmddyyyy "입니다.

  • metadata class = "{dateFormat : 'mmddyyyy'}". 메타 데이터 플러그인이 필요합니다.
  • 헤더 옵션 헤더 : {0 : {dateFormat : 'mmddyyyy'}}.
  • 헤더 클래스 이름 class = "dateFormat-mmddyyyy" 전체 dateFormat 옵션입니다. 내 경우

나는 버전

$("#myTable").tablesorter({dateFormat: "uk"}) 

을 사용했다.