使用jquery问题将文本附加到文本区域

时间:2013-12-16 01:47:59

标签: javascript jquery append

我试图让一些按钮将文本附加到带有jquery的textarea中,并且我有它工作,但前提是我没有在textarea中输入任何内容。

代码:

<textarea name="comments" id="comments" rows="20" style="margin-left: 0px; margin-right: 0px; width: 968px;"></textarea>
<div>
  <button>+petname</button>
  <button>+lastvisit</button>
  <button>+nextvisit</button>
</div>
<script>
$( "button" ).click(function() {
  var text = $( this ).text();
  $('#comments').append(text); 
});
</script>

此代码正常工作,但是当我在该文本区域输入其他内容时,按钮不再有效???为什么!!??我只是想不通。 非常感谢。 杰森

2 个答案:

答案 0 :(得分:7)

不是使用函数参数语法append设置val,而是这样做:

$('#comments').val(function(_, val){
    return val + text; 
}); 

<强> Demo

答案 1 :(得分:3)

更改

$('#comments').append(text);

$('#comments').val( $('#comments').val() + " " + text );