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

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

有人知道为什么是这样吗?.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 回答