jquery.tablesorter で複雑な <thead> に対応する方法
jquery.tablesorterはとても便利。あいかわらずJavascriptのコードはよくわからんけど。(勉強して無い俺が悪い。)
使ってく中で身に着けたちょっとしたTIPS。
jquery.tablesorterでは、theadタグ内のthタグを順番にインデックス振っていくのだけれども、thead内でcolspanとか使って複雑なヘッダ構造をしていると、tbodyの列とヘッダのインデックスがずれてしまう。
これを回避するためには、
- tablesorterのインデックスとしたい thタグ は <th class="sortHeader"> とclass属性をつける。
- jquery.tablesorter.js の buildHeaderというfunctionを1箇所修正する。
具体的には
$tableHeaders = $("thead th",table);
となってるところを
$tableHeaders = $("thead th.sortHeader",table);
とします。