2010-12-03 48 views
1

我在jQuery Tablesorter plugin中做了一個自定義分析器。我想在加載頁面時使用該自定義分析器對錶格進行3列排序。如何在jQuery tablesorter中的個人分析器上設置初始排序順序?

我已經試過這樣:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#statusTable").tablesorter({ sortList: [[3, 0], [4, 0], [5, 0]]}, { headers: { 3: { sorter: 'status' }, 4: { sorter: 'status' }, 
      5: { sorter: 'status' }, 0: { sorter: false }, 7: { sorter: false} }}); 
    }); 
</script> 

加載頁面時的列進行排序,但他們是按字母順序排序。

另一個劇本我想:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#statusTable").tablesorter({ headers: { 1: { sorter: 'status' }, 2: { sorter: 'status' }, 
     3:{ sorter: 'status'}, 5:{ sorter: false}}}, { sortList: [[1,0],[2,0],[3,0]] }); }); 
</script> 

但隨後的列不是在所有排序。

最後腳本:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#statusTable").tablesorter({ sortList: [[3, 0], [4, 0], [5, 0]], headers: { 3: { sorter: 'status' }, 4: { sorter: 'status' }, 
      5: { sorter: 'status' }}, { headers: { 3: { sorter: 'status' }, 4: { sorter: 'status' }, 
      5: { sorter: 'status' }, 0: { sorter: false }, 7: { sorter: false} }}); 
    }); 
</script> 

但隨後的tablesorter沒有工作了。

有沒有人有任何建議?

回答

0

我認爲你是一個小括號,在你的JSON上很開心。您是否嘗試過清理代碼,並可能使用縮進來查看您的語法位置?

這裏的清理你的第一個版本:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#statusTable").tablesorter({ 
      sortList: [[3, 0], [4, 0], [5, 0]]}, 
      headers: { 
      3: { sorter: 'status' }, 
      4: { sorter: 'status' }, 
      5: { sorter: 'status' }, 
      0: { sorter: false }, 
      7: { sorter: false } 
      } 
     }); 
    }); 
</script> 

我要去假設你的第一次是最好的(沿相同的前提下,與您在測試的第一直覺去)。你不必要地將headers包裹在花括號中(事實上,從來沒有關閉它)。

+0

這沒有什麼不同,因爲我沒有正確關閉我的大括號。發生了什麼事是列確實是有序的,但他們按字母順序排列,而不是使用我的cutom分析器。此外,標題不再使用。 (它必須是{標題:{...}}而不是標題:{...}) – Mysteric 2010-12-10 15:46:03