2010-03-29 74 views
1

我不是一个真正的Javascript程序员,所以我正在努力与此!我正在使用tablesorter插件以及Tablegroup插件,该插件非常好地将父表中的行分组,然后对父母进行排序。JQuery tablesorter - 保持分组在一起,但仍然排序

我的问题是虽然,我也很喜欢孩子行进行排序而父组中

我已经尽最大努力得到这个工作,但我怕我是撞墙。任何人都可以提出一个新的首发10?

下面的例子是工作的罚款 - 这里有2个组:

  1. 北欧(挪威和丹麦)
  2. DACH(德国和奥地利)

如果我点击的标题行,这些组将被排序,但组中的子行不会排序。

<script type="text/javascript"> 
     $(document).ready(function() { 
      $(".tablesorter") 
       .tablesorter({ 
       // set default sort column 
       sortList: [[0,0]], 
       // don't sort by first column 
       headers: {0: {sorter: false}} 
       , onRenderHeader: function(){ 
        this.wrapInner("<span></span>"); 
       } 
       , debug: true 
      }) 
     }); 
</script> 
<table id="results-header" class="grid tablesorter table-header" cellpadding="0" cellspacing="0" border="0"> 
    <thead> 
    <tr class="title"> 
     <th class="countries">&nbsp;</th> 
     <th>% market share</th> 
     <th>% increase in mkt share</th> 
     <th>Target achieved</th> 
     <th>% targets</th> 
     <th>% sales inc. M-o-M</th> 
     <th>% sales inc. M-o-M for country</th> 
     <th>% training</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr id="Nord" class="collapsible parent parent-even collapsed"> 
     <td class="countries">Nordics</td> 
     <td>39.5</td> 
     <td>49</td> 
     <td>69.8</td> 
     <td>51.8</td> 
     <td>43</td> 
     <td>42.5</td> 
     <td>38</td> 
    </tr> 
    <tr id="row-Norway" class="expand-child child child-Nord"> 
     <td class="countries">Norway</td> 
     <td>6</td> 
     <td>45</td> 
     <td>101</td> 
     <td>10</td> 
     <td>20</td> 
     <td>40</td> 
     <td>30</td> 
    </tr> 
    <tr id="row-Denmark" class="expand-child child child-Nord"> 
     <td class="countries">Denmark</td> 
     <td>10</td> 
     <td>20</td> 
     <td>3</td> 
     <td>40</td> 
     <td>50</td> 
     <td>25</td> 
     <td>8</td> 
    </tr> 
    <tr id="DACH" class="collapsible parent parent-odd collapsed"> 
     <td class="countries">DACH</td> 
     <td>77</td> 
     <td>61</td> 
     <td>43</td> 
     <td>98</td> 
     <td>65</td> 
     <td>92.5</td> 
     <td>59.5</td> 
    </tr> 
    <tr id="row-Germany" class="expand-child child child-DACH"> 
     <td class="countries">Germany</td> 
     <td>56</td> 
     <td>24</td> 
     <td>84</td> 
     <td>98</td> 
     <td>32</td> 
     <td>87</td> 
     <td>21</td> 
    </tr> 
    <tr id="row-Austria" class="expand-child child child-DACH"> 
     <td class="countries">Austria</td> 
     <td>98</td> 
     <td>98</td> 
     <td>2</td> 
     <td>98</td> 
     <td>98</td> 
     <td>98</td> 
     <td>98</td> 
    </tr> 
    </tbody> 
</table> 

回答

0

没有尝试了这一点,它看起来像你只为你的电话看起来像

$(".tablesorter").tablesorter({...}) 

如果您正在使用tableGroup不应该有这样一个身边的一些呼叫使用的tablesorter?

$(...).tableGroup({...}) 

在tableGroup的首页上的代码看起来像这样

$('table').tableSorter({...}).sortStop(function (e, col) { 
    $(this).tableUnGroup(); 
    ... 
     $(this).tableGroup({...}); 
    ... 
}); 
+0

对不起,我挂错了MOD! RIGHT mod使用它自己的tablesorter-mod.js,所以你只需调用tablesorter(),它就是它自己的东西。 – MrFidge 2010-03-29 15:16:53