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を使用できます(経験はほとんどありません)。

ヒントやサンプルをいただければ幸いです。

フィルター操作に数秒かかる場合、画面がロックされないようにするにはどうすればよいですか? フィルタを適用するイベントは? javascriptを少しきれいにするjQueryの何かがありますか?

4

2 に答える 2

8

はい、これは jQuery を使用すると非常に簡単です。最初にすべてを非表示にします。

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

(クラス "title" を持つタイプ "div" の要素に一致します。) 一致するものを表示します。

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

「含む」のヘルプ。

ページが巨大でない限り、これを行うのに「数秒」かかることはありません。onKeyDown と onChange でこれを行うことができます。

于 2008-10-07T15:24:25.870 に答える
3

クレイグはとても近いです。親 div を表示または非表示にするには、「.parent()」を「.hide()」または「.show()」の前に置きます。

2番目のコメントについては、それは別の問題ですが、そうです、テキスト以外の入力を考慮する必要があります。もう 1 つのアイデアは、フィルター テキスト ボックスが空白の場合にすべてを表示することです。

于 2008-10-07T16:53:01.447 に答える