2012-04-02 11 views
0

データテーブルにデータを追加する前に、文字列の長さを20文字に減らしています - http://www.datatables.net/。検索ボックスに入力することでデータテーブルを検索すると、切り捨てられたデータは検索できなくなります。検索時に切り捨てられたテキストを無視することなく、データテーブルに切り捨てられたデータを追加することは可能ですか?検索時にテキストが無視されます - データテーブル

これは、データテーブルにデータを追加するために使用してコードイムです:

if(data.length > 20){ 
data= data.substring(0 , 20); 
} 
$('#myTable').dataTable().fnAddData([ 
data    
] 
); 

問題が切り捨てられたデータは検索できませんです。

+0

説明が必要です。これは何を意味するのでしょうか? - "私がデータテーブルを検索すると、切り捨てられたデータはもはや検索可能ではありません"。また 'dataTable()'のライブラリは何ですか? – Terry

+0

@TerryR質問を更新しました。 –

+0

Hiya @ user470184私はあなたのための解決策を持っているかもしれません。私が間違っているが、列に部分的なテキストのみを表示するが、データテーブルで列の隠しテキストを検索したい場合は、私を修正してください。 :)あなたが必要としているものがあれば、私はあなたの必要性に合わせてサンプルJsfiddleをすべて持っています。(明らかにdatatableを使用しています:)素敵なひと時を過ごしてください! –

答えて

2

Hiya ワーキングデモ:foobar1またはfoobar2などのためhttp://jsfiddle.net/Gnazp/5/

検索はテーブル表示に隠されているが、彼らはあなたがjsfiddleコードで見ることができるように、列の一部です。

コード内のコメントを読むことはできますが、基本的にコードが行うトリックは、フィルタに最初にデータをバインドして、フルテキストに関する情報を取得してから文字列を切り捨てるようにすることです(フィルタ前に文字列を切り捨てて、部分文字列に含まれるデータを忘れてしまった場合は、サンプルコードがjsfiddleでうまく機能することを期待してください)

注:貼り付けをコピーできることをお知らせください私の記事のすべてのコードはここにあります。この場合

説明:

<td class="truncatethis">test yes you can, foobar foonewbar.</td> 

のみ表示されます。DataTableの画面上にtest yes yいますがfoobarを検索した場合、それはあなたに正しい結果が得られます。そのjsfiddleの下部にコードを探します:フィルタが呼び出された後、私はsubstringメソッドと呼ばれている切り捨て画面を表示するには

$(".truncatethis").each(function(){ 

    if($(this).text().length > 10){ 
       //alert($(this).html()); 
       $(this).html($(this).text().substring(0 , 10)); 
     } 

});​ 

が、これは、乾杯を役に立てば幸い!

関連する問題