Вам нужно установить высоту текстовой области на высоту прокрутки.Поэтому используйте свойство scrollHeight
, чтобы получить его.
$('#btn').click(function(){
$('#tx').val(a).height($("#tx")[0].scrollHeight)
});
var a = 'lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum lorem ipsum ';
$('#btn').click(function(){
$('#tx').val(a+a+a).height($("#tx")[0].scrollHeight)
});
#tx{
display:block;
width:100%;
background:gold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id='tx'>lorem</textarea>
<br>
<button id='btn'>CLICK</button>