1

入力に一致しないタイルをページから除外する「フィルタリング入力フィールド」を作成しようとしています。

これまでのところ、私はこれを持っています...

HTML -

<input name="filter" type="text" value="Find who you're looking for" />
<a href='#' id='b_submit'>Submit</a>

<article id='JohnS'>Content</article>
<article id='BobG'>Content</article>
<article id='SamL'>Content</article>
<article id='RonaldY'>Content</article>

脚本 -

$("#b_submit").click(function() {

    var filter_text = $('input:text').val();
    //this sets filter_text as the input value

    $('article:not(??not sue what to call here??)').fadeOut();
    //this is where I need help, I need to call the value as an #id to eliminate non-matching articles. 

    });

これを行うための適切な構文は何ですか? 単純なフィルタリングを複雑にしすぎていませんか? ヘルプ?:D

4

2 に答える 2

5

私はあなたが探していると思います:

$('article:not(#'+filter_text+')').fadeOut();

デモ: http://jsfiddle.net/GKj66/

于 2013-05-08T17:07:10.873 に答える
3

これを試してください:

$('article:not(:contains("' + filter_text + '"))').fadeOut();
于 2013-05-08T17:07:31.327 に答える