Как добавить пользовательское поле фильтрации в области поиска

#javascript #datatables

Вопрос:

Я хотел бы отображать поля в областях поиска таблиц данных, которых нет в таблице.

Например, у меня есть следующая таблица:

 |  Foos |  Bars |
---------------
|  foo1 |  bar1 |
 

И я определил области поиска для just Foos .

На панели Foos я могу видеть foo1 , потому что это то, что существует в таблице. Но я хотел бы также показать foo2 там, чтобы, когда пользователь нажмет на foo2 него, в результате получилась пустая таблица (потому что этого значения не существует).

Возможно ли это с помощью поисковых панелей?

Комментарии:

1. Единственный известный мне способ сделать это-использовать columns.searchPanes.options . Это позволяет вам определять пользовательские записи в области поиска (именно то, что вы хотите!), Но проблема в том, что, как только вы определили один такой параметр, он заменяет все записи «по умолчанию» в области (совсем не то, что вы хотите!). Я полагаю, вы могли бы предварительно создать этот раздел для каждого уникального значения в столбце, а затем добавить свою пользовательскую запись. Кажется, что это большая проблема для значения, которое в любом случае будет иметь «0», отображаемое рядом с ним на панели.

2. @andrewjames Я пробовал это, но у этого есть одна серьезная проблема — он не позволяет вам определять параметры, которые не имеют совпадений в таблице. Или, точнее, он не фильтрует таблицу, если вы определяете такую опцию (он покажет все записи в таблице, а на панели будет указано, что совпадений нет) :(. Я думаю, что мне нужно было бы создать фиктивную запись в таблице, чтобы она работала.

3. У меня не было этой проблемы: я просто жестко закодировал функцию, чтобы эта запись всегда возвращалась false . (Фиктивная запись была бы намного проще, я согласен).

4. Я сделал точно то же самое, функция с возвращением false. Когда я изменил значение на true, появилась опция.

5. Это любопытно. Мы должны делать что — то другое, где-то-или я неправильно понял вопрос, всегда есть возможность. jsfiddle.net/906c8auo