2016-08-21 46 views
0

比如我有两个表如何实现每个表搜索在PHP

<div id="fortablea"> 
<input type="text"> 
<table id="tablea"> 
    <tr> 
    <td> 
    </td> 
    </tr> 
</table> 
</div> 

<div id="fortableb"> 
<input type="text"> 
<table id="tableb"> 
    <tr> 
    <td> 
    </td> 
    </tr> 
</table> 
</div> 

两者都有自己的输入文本的酒吧在各自的div。

我想留在同一页面上,如果我在表格a的输入中键入任何内容,那么只有其内容应该改变其余所有其他表格不受影响。每个表的

内容从两个功能

function tableA($name); 
function tableB($name2); 

有没有通过jQuery来做到这一点任何可能的方式来吗?

+1

有人可以解释这个问题吗?哦,你不应该有两个'id =“tablea”',id应该是唯一的。 –

+0

是的,有很多可能的方式通过jQuery独特的表ID来实现这一点,请先尝试一下。 – C2486

+0

错误的道歉。 – Alex

回答

0

你可以做一些名称约定并添加一些css类。例如。与HTML:

<div id="fortablea" class="autoSearch"> 
<input type="text"> 
<table id="tablea"> 
    <tr> 
    <td> 
    </td> 
    </tr> 
</table> 
</div> 

<div id="fortableb" class="autoSearch"> 
<input type="text"> 
<table id="tableb"> 
    <tr> 
    <td> 
    </td> 
    </tr> 
</table> 
</div> 

和jQuery

var tableSearchers = { 
    fortablea: function(keyword){...}, //equals id of table (name convention) 
    fortableb: function(keyword){...}//equals id of table (name convention) 
} 

并且在一些$(document).ready(function(){...});

$(document).on('keyup', '.autoSearch input', function(){ 
    tableSearchers[$(this).parents('.autoSearch:first').attr('id')]($(this).text()); 
}); 

这当然可以延伸到相同的结构的多个表。同样在实际应用中,您可能希望在触发该功能之前插入一些延迟(并等待更多输入)

即使我确信有比这更干净的解决方案。