2017-03-06 7 views
1

これは、特にYADCFよりも多くのデータテーブルに関連する可能性がありますが、機能が存在しない場合は明白な拡張としてここに尋ねています。セル内に複数の値/ html要素がある場合の正確なフィルタ

私は、YADCFの例に似た、複数の値の「タグ」を含むことができる列を持っています。これらのタグによるフィルタリングを可能にするフィルタが正しく生成されます。

ここJSFiddle https://jsfiddle.net/wallacio/622704ep/6/

(...!恐ろしい色を言い訳)エリアリグ題したコラムを参照してください

私はで唯一のイベントを見たい場合は、私が必要filter_match_mode: "exact"を使用する(南西、南東などにあるものを除外する)

「南」と「南」のタグを含むイベントがあります(フィルタリングされていないビューでは8番目)東南アジア南 『このイベントは表示されません」Event containing South and South East tags

ためのフィルタリングが 』、正確なフィルタは、全体としてではなく、その中の各別個のHTML要素に対するセルの内容に対してマッチングされるためと考えられます。

filter_match_modeを「contains」に変更できましたが、これは「South East」などのタグが付いたイベントが表示されるため好ましくありません。

私はソースをトラウリングしていますが、これはフィルタオプションを生成する際に考慮されていることがわかりますが、フィルタリング時には考慮されません。そのため、DataTablesフィルタの実装方法による制限。

答えて

0

あなたはfilter_type: 'custom_func',を使用してmyCustomFilterFunction

function myCustomFilterFunction(filterVal, columnVal) { 
     var found = false; 
     if (columnVal === '') { 
      return true; 
     } 
     switch (filterVal) { 
     case 'one': 
      found = //some logic goes here 
      break; 
     case 'two': 
      found = //some logic goes here 
      break; 
     case 'three': 
      found = //some logic goes here 
      break; 
     default: 
      found = false; 
      break; 
     } 

     if (found) { 
      return true; 
     } 
     return false; 
} 
ようになり、その特定の列

column_number: 0, 
filter_type: 'custom_func', 
custom_func: myCustomFilterFunction, 
data: ['one', 'two', 'three'] 

ための独自のフィルタリングロジックを書くことができます

関連する問題