3

我有一个中继器,它为从某个方法返回的每个项目输出如下所示的 div。

<div class="editor-area">
    <div class="title">the title</div>
    <div>the description</div>
    <div class="bottom-bar">
        <a href="link">Modify</a>
        <a href="link2">Delete</a>
    </div>
</div>

我需要在页面上有一个文本框,允许用户根据标题字段中的内容过滤列表。我希望它在用户输入时发生。

我可以在不寻求帮助的情况下完成这件事,但我想把它做好。我正在使用 ASP.Net 2.0 WebForms(不幸的是),如果它对此有用的话,我可以使用 jQuery(我对它的经验很少)。

任何提示或样品将不胜感激。

如果过滤操作需要几秒钟,你如何防止它锁定屏幕?我应该对什么事件进行过滤?jQuery 中有什么东西可以让 javascript 变得更简洁吗?

4

2 回答 2

8

是的,这对于 jQuery 来说非常简单。首先隐藏所有内容:

$("div.title").hide();

(将“div”类型的元素与“title”类匹配。)现在显示匹配项:

$("div.title:contains(searchText)").show();

“包含”的帮助。

除非您的页面很大,否则不应该花费“几秒钟”来完成此操作。您可以在 onKeyDown 和 onChange 中执行此操作。

于 2008-10-07T15:24:25.870 回答
3

克雷格非常接近。将 ".parent()" 放在 ".hide()" 或 ".show()" 之前以显示或隐藏父 div。

至于您的第二条评论,这是一个单独的问题,但是是的,您需要考虑非文本输入。另一个想法是在过滤器文本框为空白时显示所有内容。

于 2008-10-07T16:53:01.447 回答