如何将文字附加到'<textarea>'?

daG*_*vis 14 javascript jquery textarea add hyperlink

我有<textarea>用户可以向世界输入他的信息!下面,有上传按钮...我想添加上传文件的链接(不用担心,我有它); 就在他输入的文本旁边.

比如,他输入'Hello,world!',然后上传文件(通过AJAX完成),并在下一行添加到该文件的链接<textarea>.注意!是否可以将光标(他离开的位置)保持在同一个地方?

所有这些都可以通过jQuery完成......任何想法?我知道有方法'append()',但不会出现这种情况,对吧?

Jam*_*ack 15

尝试

var myTextArea = $('#myTextarea');
myTextArea.val(myTextArea.val() + '\nYour appended stuff');
Run Code Online (Sandbox Code Playgroud)

  • 但随着文字的增加,它不会增加时间吗? (5认同)

fle*_*tom 7

这花了我一段时间,但下面的jQuery将完全按照您的意愿执行 - 它不仅会附加文本,还会通过存储光标然后重置它来将光标保持在完全相同的位置:

var selectionStart = $('#your_textarea')[0].selectionStart;
var selectionEnd = $('#your_textarea')[0].selectionEnd;

$('#your_textarea').val($('#your_textarea').val() + 'The text you want to append');

$('#your_textarea')[0].selectionStart = selectionStart;
$('#your_textarea')[0].selectionEnd = selectionEnd;
Run Code Online (Sandbox Code Playgroud)

你可能应该将它包装在一个函数中.