2012-04-10 8 views
2

私は、検索ボックスから除外する情報を持つテーブルを持っています。たとえば、列のいずれかで、私はいくつかのテキストと、その後のリンクを持っている、それはそのようになっていますDataTables - 列にフィルタリング機能を追加する

<td> 
    <div>John Doe</div> 
    <div> 
    <a href="/usr/johndoe/view">View</a> | 
    <a href="/usr/johndoe/edit">Edit</a> | 
    <a href="/usr/johndoe/delete">Delete</a> 
    </div> 
</td> 

オブもちろんこの場合、私はテキストとしてのみ「ジョン・ドウ」を検討する検索ボックスを希望します検索する。

私はphp(私はSymfony-2を使用しています)でテーブルを描画し、jQueryでdataTable関数を使用してDataTableプラグインを適用します。私は、私が望むものは可能だが、それを達成することはできないという印象を得た。 http://www.datatables.net/forums/discussion/255/customising-the-way-the-filter-works/p1のような他の議論は、この問題を解決するのに役立つものでもありませんでした。

ありがとうございます!

+0

正確に何をしたいですか? –

答えて

0

実際の検索機能をカスタマイズする方法があると思います(mDataPropを使用して列の型を指定し、その型のcustom filterと書くかもしれません)。

しかし、別の方法として、PHPスクリプトに名前を指定するだけです:John Doe。これがセルの元のデータになります。

次に、カラム定義でfnRender()を使用して、質問で使用するレイアウトを使用してセルをフォーマットし、名前を自動的に解析して、必要なリンクを作成します(すべての名前が最初と最後です。リンクは姓と名の結合された名前のみを使用しますが、これは実装がかなり簡単です)。

次に、その列にbUseRenderedfalseを設定すると、新しいコンテンツではなく元のコンテンツに基づいてすべてのソートとフィルタリングが実行されます。 See more here

+0

よかった、ありがとう。 1つの質問 - レンダリングにいくつかの引数が必要です(userId、ユーザー名など...)。どのようにしてこの問題を解決できますか? – guyaloni

+0

例( 'fnRender(o){}')のようなものを単に渡すと 'o.aData [idx]'のようなものを呼び出すことができます。ここで 'idx'はゼロから始まるインデックスです解析するデータが含まれている列のたとえば、 'var content = o.aData [1] + 'View';'と 'return content;'のようなことができます。それはあなたのセルに 'John Doe View'を与えるでしょう。それは意味をなさないかあなたの質問に答えますか? – mbeasley

+0

私の例が完全ではないので、そうではありません。明確にするために、tje urlにはuser-idも含まれている必要があります。これは、表示されていないのでカラムから取り出すことができません: 'View'(より多くのパラメータがありますが、アイデアは同じです) ユーザー名をキーとし、残りの情報を必要とする配列を生成することはできますが、それはかなり醜いです...もっと良い解決方法を選ぶことをお勧めします。 – guyaloni

関連する問題