textarea.val()值已更改但未在页面上显示

时间:2012-11-26 21:48:43

标签: javascript jquery html

我有像这样的textarea,

<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”是应用于两个下拉列表的类。

当我在下拉列表中选择一个值时,它似乎什么都不做,但是在查看chrome中的调试器后,它正在更改值而不显示它。

有谁知道这是为什么?关于.val()属性,我有什么特别的遗漏吗?


问题/解决方案:

我忘记了当我删除$(this).siblings(“#txtaFilter”)时页面上有多个“#txtaFilter”,所以它访问了隐藏的而不是可见的。对不起,我猜这个问题也错了:/

2 个答案:

答案 0 :(得分:5)

您可以使用val方法:

$("#txtaFilter").val(function(i, oldVal){
   return oldVal + value
});

答案 1 :(得分:3)

使用.val()获取textarea的文本。

$(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);
    });
});