これは現在進行中のプロジェクトです。私はjQueryt用のtablesorterプラグインに基づいてカスタムテーブルソーターを開発してきました。ありがたいことに、ちょうど完了しました。私の最後の質問はこれで次のように、私はテーブルのヘッダーを持っている:メタデータパーサーをテーブルヘッダーに追加する
<th class="blue_bg"><a rel = "Header" href="#" title="Sort column in decending order" class="">Seats Available</a></th>
私は特定の列のソート無効にするインラインメタデータパーサを追加したいと思います。私は現在、クラスなしで、各ヘッダを通過トラバース機能を持っており、次のようにパーサを追加します。
//th without a class automatically get sorting disabled
$("th[class='']").each(function(){
$(this).addClass("{sorter: false}");
});
私も列が可能かどうかを示す特定の文字列を経由する1および検索を持っていますソートから無効:ユーザーは、デフォルトでは、ユーザ定義の文字列で、それ以外の場合は指定しない限り、そのよう
//Add disabling parser to each header with a disable class
$("th[class*='csuci.sortable.false']").each(function(){
$(this).removeClass("csuci.sortable.false").addClass("{sorter: false}");
});
は基本的に、私はそれをセットアップをしたい、列が無効にソートしているだろう。要約すると、私は、クラスを全く持たない列に対してディスパッチ禁止を設定しており、ディスエーブル文字列を指定するクラスを持っています。また、ユーザーがヘッダー内に他のクラスを持つことができる3番目の条件が欲しいです。この例では、ユーザーが列の背景を青にするように指定しています。しかし、この例のヘッダーに無効なパーサーを追加するためにはどの構文が必要なのかよく分かりません。ヘルプは、前もって感謝します。
UPDATE:ここwhattの中に基づいてパーサーを追加し、私の完全な機能がある、またはではないが、番目のクラス属性:
$(function(){
//Add disabling parser to each header with a disable class
$("th[class*='csuci.sortable.false']").each(function(){
$(this).removeClass("csuci.sortable.false").addClass("{sorter: false}");
});
//th without a class automatically get sorting disabled
$("th[class='']").each(function(){
$(this).addClass("{sorter: false}");
});
//Add parser to each table that has a class="csuci.sortable."
$("th[class*='csuci.sortable.date']").each(function(){
$(this).removeClass("csuci.sortable.date").addClass("{sorter: 'usLongDate'}");
});
$("th[class*='csuci.sortable.percent']").each(function(){
$(this).removeClass("csuci.sortable.date").addClass("{sorter: 'percent'}");
});
$("th[class*='csuci.sortable.ip']").each(function(){
$(this).removeClass("csuci.sortable.date").addClass("{sorter: 'ip-address'}");
});
$("th[class*='csuci.sortable.url']").each(function(){
$(this).removeClass("csuci.sortable.date").addClass("{sorter: 'url'}");
});
$("th[class*='csuci.sortable.money']").each(function(){
$(this).removeClass("csuci.sortable.date").addClass("{sorter: 'currency'}");
});
$("th[class*='csuci.sortable.time']").each(function(){
$(this).removeClass("csuci.sortable.date").addClass("{sorter: 'time'}");
});
});
私は追加している特別なブールクラスはありません。ただ検索する各トラバーサル関数をハードコードする任意の文字列です。次に、クラス内の文字列に基づいてソートパーサーを追加します。 – kingrichard2005
jQueryデータの使用を検討しましたか? http://docs.jquery.com/Core/data#namevalue – gradbot