【发布时间】:2011-01-13 00:03:20
【问题描述】:
我正在显示一个包含多行和多列的表格。我正在使用一个名为 uiTableFilter 的 JQUERY 插件,它使用文本字段输入并根据您提供的输入过滤(显示/隐藏)表格行。您所做的只是指定要过滤的列,它将仅显示在该列中具有文本字段输入的行。简单且工作正常。
我想添加一个 SECOND 文本输入字段,以帮助我进一步缩小结果范围。因此,例如,如果我有一个 PETS 表,其中一列是 petType,一列是 petColor——我可以在第一个文本字段中输入 CAT,以显示所有猫,然后在第二个文本字段中,我可以输入黑色,结果表将仅显示找到 BLACK CATS 的行。基本上是一个子集。
这是我正在使用的 JQUERY:
$("#typeFilter").live('keyup', function() {
if ($(this).val().length > 2 || $(this).val().length == 0)
{
var newTable = $('#pets');
$.uiTableFilter( theTable, this.value, "petType" );
}
}) // end typefilter
$("#colorFilter").live('keyup', function() {
if ($(this).val().length > 2 || $(this).val().length == 0)
{
var newTable = $('#pets');
$.uiTableFilter( newTable, this.value, "petColor" );
}
}) // end colorfilter
问题是,我可以使用一个过滤器,它会显示正确的表格行子集,但是当我为另一个过滤器提供输入时,它似乎无法识别前一个过滤器剩余的可见表格行列,但它似乎对原始表进行了全新的过滤。如果应用一个过滤器后返回 10 行,则第二个过滤器应仅适用于 THOSE 10 行。我已经尝试过 LIVE 和 BIND,但无法正常工作。
谁能阐明我哪里出错了?谢谢!
【问题讨论】:
标签: jquery-plugins dynamic jquery