2017-03-06 91 views
1

這可能與特定的YADCF相關的DataTables更多,但如果該特性不存在,我在這裏問這是一個明顯的增強。當一個單元格中有多個值/ 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',,寫自己的過濾邏輯爲特定列

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

其中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; 
} 
相關問題