Вставьте текст в текстовое поле с помощью jQuery - PullRequest
148 голосов
/ 03 июня 2009

Мне интересно, как я могу вставить текст в текстовую область, используя jquery, по щелчку тега привязки.

Я не хочу заменять текст уже в textarea, я хочу добавить новый текст в textarea.

Ответы [ 17 ]

1 голос
/ 27 марта 2013

Если вы хотите добавить контент в текстовую область без их замены, вы можете попробовать следующее

$('textarea').append('Whatever need to be added');

По вашему сценарию это будет

$('a').click(function() 
{ 
  $('textarea').append($('#area').val()); 
})
0 голосов
/ 14 ноября 2017
$.fn.extend({
    insertAtCaret: function(myValue) {
        var elemSelected = window.getSelection();
        if(elemSelected) {
            var startPos = elemSelected.getRangeAt(0).startOffset;
            var endPos = elemSelected.getRangeAt(0).endOffset;
            this.val(this.val().substring(0, startPos)+myValue+this.val().substring(endPos,this.val().length));
        } else {
            this.val(this.val()+ myValue) ;
        }
    }
});
0 голосов
/ 15 сентября 2016

Это похоже на ответ, данный @panchicore с исправленной незначительной ошибкой.

function insertText(element, value) 
{
   var element_dom = document.getElementsByName(element)[0];
   if (document.selection) 
   {
      element_dom.focus();
      sel = document.selection.createRange();
      sel.text = value;
      return;
    } 
   if (element_dom.selectionStart || element_dom.selectionStart == "0") 
   {
     var t_start = element_dom.selectionStart;
     var t_end = element_dom.selectionEnd;
     var val_start = element_dom.value.substring(value, t_start);
     var val_end = element_dom.value.substring(t_end, element_dom.value.length);
     element_dom.value = val_start + value + val_end;
   } 
   else
   {
      element_dom.value += value;
   }
}
0 голосов
/ 03 мая 2016

Простое решение будет: ( Предположение : Вы хотите, чтобы все, что вы вводите в текстовом поле , добавлялось к тому, что уже есть в текстовой области )

В событии onClick тега напишите пользовательскую функцию, которая делает это:

function textType(){

  var **str1**=$("#textId1").val();

  var **str2**=$("#textId2").val();

  $("#textId1").val(str1+str2);

}

(где идентификаторы, textId1 - для o / p textArea textId2 - для i / p textbox ')

0 голосов
/ 18 ноября 2013

Другое решение описано также здесь на случай, если некоторые другие сценарии не работают в вашем случае.

0 голосов
/ 10 февраля 2012

Я думаю, что это было бы лучше

$(function() {
$('#myAnchorId').click(function() { 
    var areaValue = $('#area').val();
    $('#area').val(areaValue + 'Whatever you want to enter');
});
});
0 голосов
/ 09 ноября 2009

Я использовал это, и он отлично работает:)

$("#textarea").html("Put here your content");

Remi

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...