Я использую DataTables ( datatables.net ) и хочу, чтобы мое поле поиска находилось за пределами таблицы (например, в моем заголовке div).
Это возможно ?
jquery
search
datatables
filtering
Афанасиос Эммануилидис
источник
источник
$(".dataTables_filter :input").focus().val(value).keypress();
вkeyup
свой ввод около часа, прежде чем обнаружил это. Ни в коем случае не использовать API .. Шикарное решение!Согласно комментарию @lvkz:
если вы используете datatable с заглавной буквой d
.DataTable()
(это вернет объект API Datatable), используйте это:это ответ @netbrain.
если вы используете datatable с нижним регистром d
.dataTable()
(это вернет объект jquery), используйте это:источник
oTable.fnFilter($(this).val());
.DataTable()
и этот:oTable.fnFilter($(this).val());
когда вы используете.dataTable()
Разница находится в столице D. Надеюсь, это поможет!oTable.api().search($(this).val()).draw();
Это может быть полезно, особенно если вы также хотите ручное управление разбивкой на страницыlength
:oTable.api().page.len($(this).val()).draw();
Для этого вы можете использовать
sDom
опцию.По умолчанию с вводом поиска в собственном div:
Если вы используете jQuery UI (
bjQueryUI
установлен наtrue
):Вышеупомянутое поместит
input
элемент поиска / фильтрации в свой собственныйdiv
с классом с именем,search-box
который находится за пределами фактической таблицы.Несмотря на то, что он использует свой специальный сокращенный синтаксис, он фактически может принимать любой HTML-код, который вы ему вводите.
источник
'<"search-box"r><"H"lf>t<"F"ip>'
не уверен, существует ли что-то худшее,language: { search: "example", searchPlaceholder: "example" }
Это помогло мне с DataTables версии 1.10.4, потому что его новый API
источник
Более свежие версии имеют другой синтаксис:
Обратите внимание, что в этом примере используется переменная,
table
назначенная при первой инициализации таблиц данных. Если у вас нет этой переменной, просто используйте:Начиная с: DataTables 1.10
- Источник: https://datatables.net/reference/api/search ()
источник
Это должно сработать для вас: (Таблицы данных 1.10.7)
или
источник
У меня такая же проблема.
Я пробовал все опубликованные альтернативы, но безуспешно, я использовал неправильный способ, но он работал отлично.
Пример ввода для поиска
код jquery
источник
Я хочу добавить еще одну вещь к ответу @ netbrain, если вы используете обработку на стороне сервера (см. Параметр serverSide ).
Запрос дросселирование по умолчанию выполняется с помощью DataTables (см searchDelay варианта) не применяется к
.search()
вызову API. Вы можете вернуть его, используя $ .fn.dataTable.util.throttle () следующим образом:источник
Вы можете перемещать div, когда таблица рисуется с помощью
fnDrawCallback
функции.источник
"drawCallback": function (settings) { $(".dataTables_filter").each(function () { $(this).appendTo($(this).parent().siblings(".panel-body")); }); },
В
loadtransajax.php
вы можете получить значение get:источник
Если вы используете JQuery dataTable, вам нужно просто добавить
"bFilter":true
. Это отобразит окно поиска по умолчанию за пределами таблицы, и оно будет работать динамически .. как и ожидалосьисточник