0

入力フィールドがあります。ユーザーが入力を開始すると、「クリック」機能を使用してテキストでロジックを実行します。

私がやりたいことは、ユーザーが 3 文字以上入力したときに更新されるリストを持つことです。

ユーザーがさらに文字を入力するとすぐに、下の「ドナ」部分が更新されます。

ユーザーは「Dona..」と入力します。

リストには次のように書かれています。

連絡先として「Dona」を追加 件名が「Dona」などのタスクを追加

私が今日持っているものは次のとおりです。

$("#inp").keyup(function() {
if ($("#inp").text.length > 3) {
 $("#list").append('<li></li>')
}
});

カウンターが動かない。私は追加することができます

  • しかし、更新のために後で再度選択する方法がわかりません

  • 4

    2 に答える 2

    0

    あなたが提案したコードを試しました。私のコードは今このように見えます

    3 文字以上入力しても何も起こりません。

    <script type="text/javascript" src="http://localhost:53230/Scripts/jquery-1.7.2.js">          </script>
    <h1>test</h1>
    <input id="inp" type="text" class="t" />
    
    <ul id="list">
    </ul>
    
    <script type="text/javascript">
    $("#inp").click(function () {
        //SOME OTHER NOT RELEVANT CODE
    });
    
    $("#inp").on('keyup', function () {
            if ($(this).text().length > 3) { 
                $("#list").append('<li></li>')
            }
        });
       </script>
    
    于 2012-07-15T11:46:26.483 に答える
    0

    textはメソッドですtext()。ただし、フィールドを扱っているため、val()代わりに使用する必要があります。

    コードを次のように変更します

    $("#inp").on('keyup', function() {
        if ($(this).val().length > 3) { //<-- text(), not text
            $("#list").append('<li>'+$(this).val()+'</li>')
        }
    });
    

    また、私が使用していることに注意してください$(this)(jQuery に要素を再度検索させる必要はありません) on()。イベントをバインドするために使用に切り替えました。

    JSFiddle デモ

    于 2012-07-15T09:39:04.770 に答える