0

わかった。だから私はこのコードを持っています

<input id="suspect" value="" type="text">
<input id="reason" value="" type="text">
<textarea></textarea>
var suspect = $('input#suspect').text();
var reason = $('input#reason').text();
$('textarea').val('' + suspect + ' and ' + reason + '')

次に、これら 2 つの入力の両方に何かを入力すると、テキストエリアは入力から値を受け取りません。その問題を解決するには?

4

5 に答える 5

2

変数を設定すると、入力されたテキストを復元しようとしている要素内にテキストがないためです (ちなみに、探している入力の場合.val())。イベントにバインドするfocus場合:

$('textarea').focus(
    function(){
        var suspect = $('#suspect').val(),
            reason = $('#reason').val();
        $(this).val('' + suspect + ' and ' + reason + '');
    });

JS フィドルのデモ

また、この場合 (タグを省略したにもかかわらず、JavaScript を DOM の要素の<script></script>に配置したため)、イベント ハンドラーを使用しなくても問題ないかもしれませんが$(document).ready()、通常は jQuery をそのようにラップすることをお勧めします。イベントがバインドさている要素がDOM に存在したにイベントがバインドされていることを確認します。

参考文献:

于 2012-04-22T05:30:47.403 に答える
1
  • .text()-- 要素内のテキストを取得します
  • .val()--要素のを取得します

テキストは の内部に格納されるため、代わりに をvalue使用する必要があります。.val().text()

var suspect = $('input#suspect').val(),
    reason = $('input#reason').val();
$("textarea").val(suspect+" and "+reason);
于 2012-04-22T05:31:57.103 に答える
1

すぐに変更したい場合は、キーボードイベントを試してください

$(window).keyup(function() {
var suspect = $('input#suspect').val();
var reason = $('input#reason').val();
$('textarea').val('' + suspect + ' and ' + reason + '');
});

ここを参照してください:http://jsfiddle.net/TtAVS/

</p>

于 2012-04-22T05:34:40.560 に答える
0

.val()入力ボックスから値を取得するために使用する必要があります

于 2012-04-22T05:28:25.927 に答える
0

val()の代わりにここで使用したいと思うでしょうtext()。また、入力からデータを抽出してテキストエリアに配置する何らかのイベント (クリックなど) も必要です。

また、ID は一意であるため、

var suspect = $('#suspect').val();
var reason = $('#reason').val();

セレクターとしては十分であり、(私が思うに)読みやすいです。

于 2012-04-22T05:28:43.017 に答える