5

テキストボックスとラベルがあります。ユーザーがラベル テキストを変更したい場合は、テキスト ボックスにテキストを入力する必要があります。ユーザーが変更時にテキストボックスにエントリを作成するたびにラベルテキストを更新するにはどうすればよいですか?

jQuery と PHP で AJAX を使用できることはわかっています。もっと簡単な方法はありますか?私にお知らせください。ここに私のコードとリンクがあります: http://jsfiddle.net/uQ54g/1/

$('#change1').change(function(){
    var l = $(this).val();
    $('label').replaceWith(l);


});
4

5 に答える 5

4

まず、jquery でラベル内のテキストを使用.textまたは設定する必要があります。.html現在のコードでは、実際にはラベル要素が削除され、テキストのみに置き換えられます。そのため、再度値を編集しようとすると機能しなくなります。ほとんどの場合、ページに複数のラベルがあるため、ラベルにクラスまたは ID を追加することもできます。

HTML:

<input type="text" id="change1"/><br/>
<label id="test">Hello</label>

Javascript:

$('#change1').change(function(){
    var l = $(this).val();
    $('#test').text(l);
    // OR $('#test').html(l);
});

文字を入力するたびにラベルを変更したい場合は、keyup代わりにを使用する必要がありますchange

更新されたjsfiddleはこちら</p>

于 2012-05-05T03:29:14.740 に答える
2

コメントで述べたように、フィドルのコードは正常に機能しています。または、次のkeyupように使用できます

$('#change1').keyup(function(){
var l = $(this).val();
$('label').text(l);
//alert($('#change1').val())
});

http://jsfiddle.net/uQ54g/4/

また、使用すると一致した要素が置き換えられることに注意してreplaceWithください。あなたの場合label、変更がトリガーされた後<label>hello</label>に置き換えられるChanged Textため、$("label")もう一度行うと未定義が返されます。自分で確認してください。

于 2012-05-05T03:30:25.820 に答える
1

これを試して:

$('#change1').keyup(function(){
l=$(this).val()
$('label').html(l)
})
于 2012-05-05T03:37:42.270 に答える
0

これはどう

$('#change1').change(function(item){
     $('label').text(item.target.value);
});
于 2012-05-05T03:42:08.233 に答える