2017-12-06 199 views
1

私のアプリケーションでは、jQuery Datatablesプラグインを使用しています。私は正確に列のデータと一致する文字列を検索しようとしています。私はjQuery DataTables - Filter列を、私の場合には機能しない完全一致でチェックしました。私の検索文字列は|シンボルはs1 | s2 | s12のように見えます。検索文字列のみがその時間S1レコードS1で含まれている場合に示されているが、私は複数の値S1を検索するとき| s2が、その後はレコードはDataTables正規表現との完全一致の列検索

jQuery("#myTable").DataTable() 
        .columns("#") 
        .search("^"+'s1|s2'+"$",true,false) 
        .draw(); 

の検索結果を表示されません:見つかりませ結果を。私はその後、addtionalのレコードがアップ示されたコードの下にしようとした

$('#myTable').DataTable().search('s1|s2').draw(); 

結果:S1、S2、S11、S14、S22、S25など

すべてのヘルプははるかに高く評価されるだろう

..

+0

有用かどうかにかかわらず、私の答えにフィードバックを与えることができれば素晴らしいと思います。 –

答えて

1

あなたは2括弧で逃しました。デフォルトの正規表現による検索方法で無効になっているので、

jQuery("#myTable").DataTable() 
        .columns("#") 
        .search('^(s1|s2)$',true,false) 
        .draw(); 

そしてsearch('s1|s2')は、所望の結果が得られませんでした。したがって、s1|s2をs、1、2、|、s1,1 |と一致する文字列として検討しています。あなたは2番目のパラメータをtrueとし、3番目のパラメータをfalseとし、競合を避けて予期せぬ結果を引き起こさなければなりません。詳細については、search() methodを参照してください。

関連する問題