Поле поиска для таблиц данных в заголовке для всех страниц сайта - PullRequest
0 голосов
/ 13 марта 2012

Я пытаюсь создать окно поиска, которое будет искать таблицы данных.

Поле поиска будет в заголовке для всех страниц сайта. Когда пользователь вводит в поле поиска и затем отправляет запрос, он запрашивает таблицы данных.

Я нашел это:

<input type="text" id="myInputTextField">

oTable = $('#myTable').dataTable();
$('#myInpuTextField').keypress(function(){
      oTable.fnFilter( $(this).val() );
})

Но я не был уверен, как это реализовать, так как поле поиска будет в заголовке.

Буду признателен за любую помощь.

1 Ответ

1 голос
/ 13 марта 2012

Этот код правильный.Но все зависит от ваших настроек.fnFilter принимает только один обязательный параметр - текст для поиска.Если вы укажете второй параметр, вы будете фильтровать только один столбец, иначе он будет искать текст во всей таблице.Конечно, вы можете фильтровать более одной таблицы одновременно

//initialize table 1
var oTable = $('#myTable').dataTable();
//initialize table 2
var oTable2 = $('#myTable2').dataTable();
$('#myInpuTextField').keypress(function(){
      //filter table one
      oTable.fnFilter( $(this).val() );
      //filter table two
      oTable2.fnFilter( $(this).val() );
})

EDIT - для вашего последнего комментария.Для этого вы должны отправить значение на сервер с помощью формы.Затем вы предварительно загружаете опубликованное значение в поле ввода и вызываете fnFilter.Что-то вроде (в PHP)

<?php
$postedSearch = $_POST['posted'];
?>
<script type="text/javascript">
$(function(){
  var oTable = $('#idOfTable').dataTable();
  if($('#myInputTextField').val() !== ''){
     oTable.fnFilter($('#myInputTextField').val());
  }
}())
</script>
<input type="text" id="myInputTextField" value="<?php echo $postedSearch ?>" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...