javascript '<textarea>'에 텍스트를 추가하는 방법은 무엇입니까?



jquery hyperlink (4)

나는 <textarea> 사용자가 세계에 그의 메시지를 타이핑 할 수있는 곳을 가지고있다! 아래에는 업로드 버튼이 있습니다 ... 나는 업로드 된 파일에 링크를 추가하고 싶습니다. (걱정하지 마세요.) 그가 입력하고있는 텍스트 옆에.

마찬가지로 그는 'Hello, world!'라고 입력 한 다음 파일 (AJAX를 통해 완료 됨)을 업로드하고 해당 파일에 대한 링크가 다음 줄에 <textarea> 내용에 추가됩니다. 주의! 같은 장소에서 커서를 놓을 수 있습니까?

jQuery로 할 수있는 모든 것 ... 어떤 아이디어? 나는 'append ()'메서드가 있다는 것을 알고 있지만,이 상황에는 맞지 않을 것입니다. 그렇죠?


Answer #1

Rangy 입력 jQuery 플러그인 을 사용하면 모든 주요 브라우저에서 작동합니다.

var $textarea = $("your_textarea_id");
var sel = $textarea.getSelection();
$textarea.insertText("\nSome text", sel.end).setSelection(sel.start, sel.end);

Answer #2

시험

var myTextArea = $('#myTextarea');
myTextArea.val(myTextArea.val() + '\nYour appended stuff');

Answer #3

<textarea> 의 캐럿 위치에 텍스트를 삽입하기위한 훌륭한 플러그인을 제공하는 다음 답변 을 살펴보십시오.


Answer #4

jQuery와 기본적으로 사용할 수있는 캐럿 플러그인사용할 수 있습니다 .

  1. 현재의 caret 위치를 포함합니다.
  2. textarea에 텍스트 추가
  3. 캐럿 위치를 바꾸려면 플러그인을 사용하십시오.

jQuery에서 "추가"기능을 원한다면 다음과 같이 쉽게 만들 수 있습니다.

(function($){
    $.fn.extend({
        valAppend: function(text){
            return this.each(function(i,e){
                var $e = $(e);
                $e.val($e.val() + text);
            });
        }
    });
})(jQuery);

그런 다음 입력 필드를 참조하여 .valAppend() 호출하여 사용할있습니다 .





add