2016-08-21 8 views
0

に各テーブルの検索を実装してください私は2つのテーブルどのように私は例えば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で、独自の入力テキストバーを持っています。

私は同じページにとどまりたいと思います。テーブルの入力に何かを入力すると、その内容だけが他のすべてのテーブルに影響を与えずに残ります。各テーブルの

内容は、次の2つの機能

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

から来ているのjQueryを介してこれを達成するためにすべての可能な方法はありますか?

+1

誰でもこの質問を説明できますか?ああ、2つの 'id =" tablea "'を持つべきではありません、idは一意でなければなりません。 –

+0

はい、独自のテーブルIDを使用してjQueryでこれを達成する方法はたくさんありますので、最後にお試しください。 – C2486

+0

誤字ミスの謝罪。 – Alex

答えて

0

名前のコンベンションをいくつか行い、CSSクラスを追加できます。例えば。

<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()); 
}); 

で、もちろんこれは、同じ構造の複数のテーブルに拡張することができます。HTMLと。また、実際のアプリケーションでは、関数をトリガする前に遅延を挿入することができます(さらに入力を待つ)

もっと清潔な解決策があるとは思いますが。

関連する問題