2016-08-21 45 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()); 
}); 

這當然可以延伸到相同的結構的多個表。同樣在實際應用中,您可能希望在觸發該功能之前插入一些延遲(並等待更多輸入)

即使我確信有比這更乾淨的解決方案。