0
 <span>This Changes as You Type in Input1</span><br>

 <input type="text" id="input1"><br><br>

 <span>This Changes as You Type Type in Input2</span><br>

 <input type="text" id="input2"><br><br>

ユーザーが入力テキスト内に入力すると、jquery が上記のスパン タグを検索し、ユーザーが入力しているときに動的に変更する必要があります。キープレスを使用すると、最後に押されたキーが除外されるため、この例では変更を使用しています..

 //my jquery attempt that's not working
 $('#input1').change(function() {
 $(this).closest('span').html($(this).val()    
 });

すべてのIDに対してこの変更機能を繰り返すのではなく、クラスでこれを効率的にコーディングできるかどうかを知りたいです。たとえば、クラスにすることができれば、その上の最も近いタグのテキストが変更されますか?

 //Like this?
 $('.inputclass').change(function() {
 $(this).closest('span').html($(this).val()    
 });
4

2 に答える 2

0

.closest()問題なく動作しますが、html の構造を改善するために次のことをお勧めします。

<div>
    <span>This Changes as You Type in Input1</span><br>
    <input type="text" id="input1"><br><br>
</div>

<div>
    <span>This Changes as You Type in Input2</span><br>
    <input type="text" id="input2"><br><br>
</div>

あなたを囲み、それは親要素にinput対応しています。spanそして明らかに、コードの冗長性を避けるため、クラスを使用してください。

これを行うと、.closest()正常に動作しますが、それを使用したほうがよいでしょう.siblings()

jQuery:

の右中括弧が)ありません。.html()行は次のようにする必要があります。

$(this).closest('span').html($(this).val())
于 2013-01-16T04:49:01.193 に答える
0

問題は不正な JavaScript です。あなたはあなたの締めくくり)を逃しています.html()

 $(this).closest('span').html($(this).val()   

 $(this).closest('span').html($(this).val());
于 2013-01-16T04:44:04.023 に答える