2017-12-25 1 views
0

에 의해 내가 JQuery와 데이터 테이블JQuery와 DataTables 기본 주문 열이 날짜

그것이 동적 테이블의를 사용하여 날짜에 의해 테이블 ​​열을 주문 문제가, 내가 열 Created 날짜를 표시합니다.

HTML이 (-> 2016 -> 2014 2017) 주문하기로

<table id="dataTable"> 
    <thead> 
     <tr> 
      <th>Name</th> 
      <th>Email</th> 
      <th>Created</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td>John</td> 
      <td>[email protected]</td> 
      <td>2016-11-20 22:15:27</td> 
     </tr> 
     <tr> 
      <td>Jane</td> 
      <td>[email protected]</td> 
      <td>2014-09-24 17:55:30</td> 
     </tr> 
     <tr> 
      <td>Doe</td> 
      <td>[email protected]</td> 
      <td>2017-12-22 05:13:01</td> 
     </tr> 
    </tbody> 
</table> 

jQuery를

$('#dataTable').DataTable(); 

:

여기 내 코드입니다.

나는 답변을 검색하고 찾았지만 모두 내가하고 싶은 것을 성취하지 못했습니다.

예 : <td>에서 data-order을 사용하면 작동하지 않습니다.

<td data-order="2014-09-24 17:55:30">Lorem ipsum</td> 

moment.js도 사용하지 않았습니다.

내가 어떻게 달성 할 수 있습니까?


편집

내가 날짜 형식을 역전했다

, 내가 DD하지만 내가 추가 한 후 YYYY/MM/DD

와 함께 일/MM은/YYYY를 사용했다 올바른 날짜 형식을 data-order으로 설정 한 다음 기본 주문 열을 설정하십시오.

<td data-order="date('Y-m-d H:i:s')">Lorem ipsum</td>

$('#dataTable').DataTable({"order": [[2, "desc"]]});

이제는 작동합니다.

+0

오류를 콘솔에? –

+0

@AndriyLozynskiy 콘솔에 오류가 없습니다. –

+0

jsfiddle에 코드를 복사했는데 제대로 작동합니다. https://jsfiddle.net/jcbnm8t2/ –

답변

1

이 같은 인덱스 컬럼의 기본 순서를 설정할 수 있습니다 : 그것은 날짜가 아니라 숫자로 실제로 주문 것

$('#dataTable').DataTable({"order": [[2, "desc"]]}); 

참고. 그것은 Y\m\d 같은 날짜에 대해 잘 작동하지만, @Daniel Lizik 시도에 의해 지적 d\m\Y 같은 날짜에 대해 당신은 플러그인 https://datatables.net/plug-ins/sorting/를 사용해야합니다

$('#dataTable').DataTable({"order": [[2, "desc"]]});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> 
 
<table id="dataTable"> 
 
    <thead> 
 
     <tr> 
 
      <th>Name</th> 
 
      <th>Email</th> 
 
      <th>Created</th> 
 
     </tr> 
 
    </thead> 
 
    <tbody> 
 
     <tr> 
 
      <td>John</td> 
 
      <td>[email protected]</td> 
 
      <td>2016-11-20 22:15:27</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Jane</td> 
 
      <td>[email protected]</td> 
 
      <td>2014-09-24 17:55:30</td> 
 
     </tr> 
 
     <tr> 
 
      <td>Doe</td> 
 
      <td>[email protected]</td> 
 
      <td>2017-12-22 05:13:01</td> 
 
     </tr> 
 
    </tbody> 
 
</table>

+0

날짜순으로 주문하지 않았으며 기본 주문 열만 설정했으나 올바르게 주문하지는 않았지만 (2017> 2014> 2016), 알 수 있습니까? –

+0

run-code-snipped에서 올바로 명령 한 것을 볼 수 있습니다. 내 코드를 확인해 볼 수 있습니다. –

+0

이제 매력처럼 작동합니다! 하지만 여기에 메모가 있는데, 나는 날짜 형식을 뒤집었고, 나는 dd/mm/yyyy를 사용하고 있었지만'''data-order''에 올바른 형식을 추가 한 후에도 yyyy/mm/dd에서만 작동합니다 그 열을''' "order"로 정렬하십시오 : [[2, "desc"]]'''그리고 그것은 작동합니다! 미래의 방문객을 위해이 메모를 답에 추가하십시오. 감사합니다. 감사합니다. –