1

jQuery 1.7 または 2.0 では正常に動作するが、jQuery 1.9 では動作しないコードがあります。ページが読み込まれると、リストは空になります。

この関数は、リストをフィルタリングするために使用されます。ユーザー入力テキストとして、リストが変更されます。

HTML:

<input type="text" id="keyword" />

<ul>
    <li>fa</li>
    <li>abc</li>
    <li>bcd</li>
    <li>def</li>
</ul>

JS:

$("#keyword").keyup(function () {
    $("ul li").hide().filter(":contains('" + ($(this).val()) + "')").show();
}).keyup();

たとえば、ユーザーが「a」を入力すると、リストは「fa, abc」になり、ユーザーが「bc」を入力すると、リストは「abc, bcd」になります。

ここでデモを作成しました:http://jsfiddle.net/nmVfq/2/

このスクリプトを jQuery 1.9 で動作するように変更するにはどうすればよいですか?

4

2 に答える 2

1

これを試して

$("#keyword").keyup(function () {
    if($(this).val()==""){
        $("ul li").show();
        return
    }
    $("ul li").hide().filter(":contains('" + ($(this).val()) + "')").show();
}).keyup();

デモ

于 2013-10-08T09:05:13.260 に答える