[英]How to append text to '<textarea>'?
我有<textarea>
,用戶可以在這里向世界輸入他的信息! 下面,有上傳按鈕...我想添加上傳文件的鏈接(不用擔心,我有它); 就在他輸入的文本旁邊。
比如,他輸入'Hello,world!',然后上傳文件(通過AJAX完成),並將該文件的鏈接添加到<textarea>
內容的下一行。 注意! 是否可以將光標(他離開的位置)保持在同一個地方?
所有這些都可以通過jQuery完成......任何想法? 我知道有方法'append()',但不會出現這種情況,對吧?
嘗試
var myTextArea = $('#myTextarea');
myTextArea.val(myTextArea.val() + '\nYour appended stuff');
這花了我一段時間,但是下面的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;
你可能應該將它包裝在一個函數中。
您可以使用我的Rangy輸入jQuery插件 ,適用於所有主流瀏覽器。
var $textarea = $("your_textarea_id");
var sel = $textarea.getSelection();
$textarea.insertText("\nSome text", sel.end).setSelection(sel.start, sel.end);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.