1

私はそのようなテキストエリアを持っています、

<textarea id="txtaFilter" cols="45" rows="5"></textarea>

そして次のスクリプト、

$(document).ready(function () {
    $(".selector").bind('change', function () {
        var value = $(this).val();
        $("#txtaFilter").val($("#txtaFilter").val() + value);
        $(this).children('option:eq(0)').prop('selected', true);
    });
});

ここで、「.selector」は 2 つのドロップダウンリストに適用されるクラスです。

ドロップダウンで値を選択すると、何もしないように見えますが、クロムでデバッガーを見ると、表示されずに値が変更されています。

これがなぜなのか誰か知っていますか?.val() プロパティについて何か特別なことがありませんか?


問題解決:

$(this).siblings("#txtaFilter") を削除したときに、ページに複数の "#txtaFilter" があることを忘れていたため、表示されているものではなく非表示のフィルターにアクセスしていました。申し訳ありませんが、私も質問に間違っていたと思います:/

4

2 に答える 2

5

メソッドを使用できますval

$("#txtaFilter").val(function(i, oldVal){
   return oldVal + value
});
于 2012-11-26T21:56:21.200 に答える
3

.val()テキストエリアのテキストを取得するために使用します。

$(document).ready(function () {
    $(".selector").bind('change', function () {
        var value = $(this).val();
        var txtaFilter = $("#txtaFilter");
        txtaFilter.val(txtaFilter.val()+value);
        $(this).children('option:eq(0)').attr('selected', true);
    });
});
于 2012-11-26T21:54:25.443 に答える