2014-07-09 90 views
-1

當我對錶中的數據進行排序時(字符串數據),我遇到了一些麻煩。 我把日期從我的數據庫,這樣格式化:如何使用tablesorter jquery插件對字符串和日期進行排序?

$change['ProposedDate'] = date('d/m/Y',strtotime($r['ProposedDate'])); 

(請注意,我也嘗試:

$change['ProposedDate'] = (string)date('d/m/Y',strtotime($r['ProposedDate'])); 

,我用它來改造成「無」

if($change['ProposedDate'] == "30/11/-0001") 
{ 
    $change['ProposedDate'] ="None"; 
} 

表是這樣的(在PHP轉換後$ c ['ProposedDate'] i n要「XX/YY/ZZZZ」在HTML源代碼):

<table> 
<thead> 
    <tr> 
    <th> ID </th> 
    <th> Proposed Date</th> 
    <th> Suggested Date</th> 
    </tr> 
</thead> 
<tbody> 
    <tr> 
    <td>1</td> 
    <td>01/10/2014</td> 
    <td>None</td> 
    </tr> 
    <tr> 
    <td>2</td> 
    <td>14/10/2014</td> 
    <td>10/12/2014</td> 
    </tr> 
    <tr> 
    <td>3</td> 
    <td>None</td> 
    <td>09/09/2014</td> 
    </tr> 
</tbody> 
</table> 

我無法理解的事情,是我能夠字符串,例如排序「14-0214-98」,」 13-0101-01「和」14-0102-40「,或」當前「,」等待「,」新建「和」提交「。但我無法排序日期。我在包含日期的兩行之間有「無」。我嘗試了許多解決方案,例如使用空字符串「」替換「無」,或使用「a」替換「無」,但沒有任何工作。

有沒有人有任何想法擺脫這個問題?

注意:將日期轉換爲字符串對我來說沒有任何問題,無論如何我都會將它們轉換回來(例如,將「無」轉換爲「30/11/-0001」)。所以如果你有一個使用字符串的解決方案,我會接受它!

感謝的人,我真的很desesperate :(

+0

不會將具有的tablesorter上飛,便於分揀轉化值的內置的方式?將時間戳(整數)作爲數據屬性存儲在單元格中,然後在排序時轉換爲該數據屬性。 –

+0

它適用於我,你可以發佈更多的實際代碼嗎? –

+0

請參閱:http://jsfiddle.net/JV2BY/ –

回答

0

我猜測,第一列可能包含「無」,而不是一個日期,這將導致該插件檢測,而不是爲一個日期常規文本。列那你就需要專門設置解析器的日期

我不知道爲什麼你正在使用的tablesorter的版本,所以這裏是你如何能做到這一點。

  1. 原始tablesorter(demo):

    $('table').tablesorter({ 
    
        dateFormat : "uk", 
    
        headers: { 
         // set "sorter: false" (no quotes) to disable the column 
         0: { sorter: "text" }, 
         1: { sorter: "shortDate" }, 
         2: { sorter: "shortDate" } 
        } 
    
    }); 
    
  2. fork of tablesorterdemo):

    $('table').tablesorter({ 
        theme: 'blue', 
    
        // other options: "mmddyyyy" & "yyyymmdd" 
        dateFormat: "ddmmyyyy", 
    
        headers: { 
         // set "sorter: false" (no quotes) to disable the column 
         0: { sorter: "text" }, 
         1: { sorter: "shortDate" }, 
         2: { sorter: "shortDate" } 
        } 
    
    }); 
    
+0

我不認爲這是他的問題,排序爲一個字符串應該工作,並在我的測試。 –

+0

這兩個演示工作;如果您創建了演示顯示問題的演示文稿,它將有所幫助 – Mottie

+0

謝謝,你幫我弄錯了! – ChoiBedal

相關問題