2012-03-13 63 views
0

我想创建一个搜索框,它将搜索数据表。网站上所有页面的标题中的数据表搜索框

搜索框将位于网站所有页面的标题中。当用户输入搜索框并提交时,它将查询数据表。

我没有发现这样的:

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

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

但我不确定如何实现此作为搜索框将在标题中。

任何帮助意见,将不胜感激。

回答

1

该代码是正确的。但一切都取决于你的设置。 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()); 
}) 

编辑 - 为您的最后评论。为此,您必须使用表单将值发布到服务器。 然后,您在输入字段中“预载”发布的值并调用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 ?>" /> 
+0

感谢这就是很好知道,我只想查询一个表,但这。我只是做一个正常的形式,并张贴到数据表所在的页面 – Codded 2012-03-13 11:15:17

+0

@Code这个过滤完成服务器端,你不需要发布任何东西。如果标题和表格在同一页面上,则一切正常 – 2012-03-13 11:17:07

+0

标题位于网站的所有页面上,例如20.该数据表格位于1页面上。我想从任何页面上的标题搜索数据表。当我提交它将重定向到带有数据表的页面,然后用于过滤表。 – Codded 2012-03-13 11:23:04