Jquery表过滤器

Jquery表过滤器,jquery,Jquery,我试图通过使用jquery单击表a中的字段,从表B中筛选表结果。表B包含来自特定数据库的所有数据,表a仅包含其中一个字段。比如说, Table A MFG_Name |Count Dell | 15 Gateway|10 表A 制造商名称|计数 戴尔| 15 网关| 10 单击Dell将过滤表B(其中MFG_Name=Dell)中的所有结果,并将其显示在表A下方,如下所示: Table B Inventory_No | MFG_Name | Model_Name | Description 00

我试图通过使用jquery单击表a中的字段,从表B中筛选表结果。表B包含来自特定数据库的所有数据,表a仅包含其中一个字段。比如说,

Table A MFG_Name |Count Dell | 15 Gateway|10 表A 制造商名称|计数 戴尔| 15 网关| 10 单击Dell将过滤表B(其中MFG_Name=Dell)中的所有结果,并将其显示在表A下方,如下所示:

Table B Inventory_No | MFG_Name | Model_Name | Description 0001 | Dell |Inspiron |Desktop 0002 | Dell |Optiplex |Desktop 表B 存货|编号|制造商|名称|型号|名称|说明 0001 |戴尔| Inspiron |台式机 0002 |戴尔| Optiplex |台式机
我该怎么做呢?我已经研究过使用过滤表的插件,但我的目标是在过滤表B之前不必打印它,因为它可能包含100000多个库存编号。

您可以在表a上设置一个单击事件,提取您单击的文本,然后在表B上创建此jQuery插件:

编辑
使用tableFilter编写了一个小演示:

您可以尝试以下代码:

$(“table.a td.mfg_name”)。单击(函数(){
var mfg_name=$(this).text();
$(“table.b tr”)。每个(函数(){
if($(this).find(“td.mfg_name”).text().indexOf(mfg_name)!=-1){
$(this.show();
}
否则{
$(this.hide();
}
});
});

给出的标记类似于以下内容:

<table id="manufacturers">
    <thead>
        <tr>
            <th>Manufacturer name</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Dell</td>
        </tr>
        <tr>
            <td>Packard Bell</td>
        </tr>
    </tbody>
</table>

<table id="computers">
    <thead>
        <tr>
            <th>Manufacturer name</th>
            <th>Model number</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Dell</td>
            <td>Vostro</td>
        </tr>
        <tr>
            <td>Dell</td>
            <td>E1405</td>
        </tr>
        <tr>
            <td>Dell</td>
            <td>Inspiron 1525</td>
        </tr>
        <tr>
            <td>Packard Bell</td>
            <td>F7305</td>
        </tr>
        <tr>
            <td>Packard Bell</td>
            <td>Easy Note A7</td>
        </tr>
        <tr>
            <td>Hewlett Packard</td>
            <td>Touchpad</td>
        </tr>
        <tr>
            <td>Hewlett Packard</td>
            <td>Pavilion Elite</td>
        </tr>
    </tbody>
</table>

.

我研究过使用表过滤器插件,但我不确定如何根据在另一个表中单击的内容过滤结果,我不想打印原始表,因为它可能非常大。
$('#manufacturers td').click(
    function(){
        var m = $(this).text();
        $('#computers tr')
            .hide()
            .filter(
                function(){
                    if ($(this).find('td:first-child').text() == m){
                        return this;
                    }
                })
            .show();
    });