2017-03-10 24 views
1

私はTableSorter Version 2.28.1を使用しています。私はマスターページで.netを使用しています。私はフィルタを自分のaspx Gridviewコントロールに設定している。私の顧客は、フィルターの長さをわずか3文字に制限したいと思っています。フィルターがオンになっている列のすべての値の長さはわずか3です​​。jquery tablesorterフィルタの長さの制限

ユーザーがフィルタボックスに入力する内容の長さを制限する方法はありますか?

私はこれを試してみました

...

widgetOptions: { 
group_forceColumn: [0], 
group_enforceSort: true, 
filter_onlyAvail: { 
    1: function (e, n, f, i, $r, c, data) { 

     return f.toString().substring(0, 3); 
    } 
} 

}

しかし、何もしていないようでした。しかし、私はヘッダーに "filter-select"クラス名を入れる必要があることを読んだ。 Gridviewのためにはどうしたらいいですか?今私のGridviewでこの作業をするために、私はテーブルの中で "Thead"を得るために以下を行います。

 $("#<% =gvContractors.ClientID %> tbody").before("<thead><tr></tr></thead>"); 
     $("#<% =gvContractors.ClientID %> thead tr").append($("#<% =gvContractors.ClientID %> th")); 
     $("#<% =gvContractors.ClientID %> tbody tr:first").remove(); 

答えて

0

demo)これを試してみてください:

$(function() { 
    $('#<% =gvContractors.ClientID %>').tablesorter({ 
    theme: 'blue', 
    widgets: ['zebra', 'filter'], 
    initialized: function(table) { 
     $(table).find('.tablesorter-filter').attr('maxlength', '3'); 
    } 
    }); 
}); 

そしてfilter_onlyAvail optionは唯一の文字列として設定することができます。 filter-selectクラスがヘッダーに追加されたときに使用可能なオプションのみを表示するために使用されるクラス名です。

第二のカラムへの選択を追加するには(eq()は、ゼロベースのインデックスを使用しています)、このコードを試してみてください。

$("#<% =gvContractors.ClientID %> thead .tablesorter-filter:eq(1)") 
+0

働いていたこと、あなたにMottieをありがとうございます。 – rnesolydev

+0

私が追加したことの1つは、 ".eq(1)"で、制限を列 "1"に制限することです。 "1、.attr( 'maxlength'、 '3'); }、"テーブルリストフィルタ "、" – rnesolydev