jQuery.TableSorterを使ったページで

降順でソートすると、頭文字でカタカナの「ヴ」がつく文字が、「ン」で始まる文字よりも一番上にソートされてしまいます。
本来なら正しいソート結果だと思うのですが、クライアントからカタカナの「ヴ」は、「ウ」と「エ」の間に配置してもらいたいとの要望でした。jQuery.TableSorter内で、分岐処理の一文を加えたいと思っております。
分かる方いらっしゃったら教えてください。宜しくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/09/17 21:36:17
  • 終了:2012/09/24 21:40:03

回答(1件)

id:oil999 No.1

oil999回答回数1728ベストアンサー獲得回数3202012/09/17 22:30:57

ポイント200pt

以下のパーサーを追加してください。
ここではカラム番号1に適用していますが、
実際のカラム番号に合わせてください。

$.tablesorter.addParser({
    id: 'hoge',
    is: function(s) {
        return false;
    },
    format: function(s) {
            return s.replace(/ヴ/g, 'ウ゛');
        },
    type: 'string'
});

$(function() {
    $("table").tablesorter({
        headers: {
           1: {
                sorter:'hoge'
            }
        }
    });
});
id:pet_hanakosan

早急なご回答ありがとございます。御回答いただいたソースをjs内ではなく、html内でtablesorterの実行箇所の差し替えをしました。結果としては、処理を施したいカラム(2列目なので1)がソートしなくなりました。背景色や▼▲ボタンなど装飾部分は問題ありません。他のカラムは問題なくソートしています。ちなみにtablesorter.jsはダウンロード時のままで特に修正しておりません。他に何か考えられることはありますでしょうか??たすけてください。宜しくおねがいします!!


//<![CDATA[jQuery(function($) {$('#テーブルのID').tablesorter();});//></script>


$.tablesorter.addParser({
id:"hoge",
is:function(s){return false;},
format:function(s){
return s.replace(/ヴ/g,'ウ゛');
},
type:'string'
});
$(function() {
$("#テーブルのID").tablesorter({
headers: { 1: { sorter:"hoge" }}
});
});

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません