如何使用jQuery在动态创建的文本区域中显示文本?

时间:2019-01-10 15:05:05

标签: jquery textarea

我正在使用jQuery单击按钮创建一个文本区域。我的问题是无法显示textarea值,因此在控制台中可以看到已经设置了该值。如何进行这项工作并在动态创建的文本区域中显示文本?

$('.createTextButton').click(function() {

  var mailbody = 'Hello, how are you?';


  $('<textarea>').attr({
    id: 'demomailbody',
    class: 'form-control',
    name: 'demomailbody',
    value: mailbody
  }).appendTo('#pf4');


});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <label>
          <span>Body</span>
          </label>
  <p id="pf4"></p>
</div>

<button class="createTextButton">Create</button>

我在检查器中看到的内容 screenshot

3 个答案:

答案 0 :(得分:0)

文本区域没有值属性。

$('.createTextButton').click(function() {

  var mailbody = 'Hello, how are you?';


  $('<textarea>').attr({
    id: 'demomailbody',
    class: 'form-control',
    name: 'demomailbody'
  }).appendTo('#pf4');
  
  $('textarea').text(mailbody).appendTo('#pf4');


});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <label>
          <span>Body</span>
          </label>
  <p id="pf4"></p>
</div>

<button class="createTextButton">Create</button>

答案 1 :(得分:0)

value实际上是一个属性,而不是一个属性。使用.val()设置文本。或者您可以(但不推荐)使用.prop('value', mailbody)

$('.createTextButton').click(function() {
  var mailbody = 'Hello, how are you?';
  $('<textarea>')
    .attr({
      id: 'demomailbody',
      class: 'form-control',
      name: 'demomailbody'
    })
    .val(mailbody)
    .appendTo('#pf4');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <label>
    <span>Body</span>
  </label>
  <p id="pf4"></p>
</div>

<button class="createTextButton">Create</button>

答案 2 :(得分:-1)

$(“ textarea”)。html(“您的文本”);

OR

$(“ textarea”)。text(“您的文本”);

您可以使用上面的代码。

jsfiddle.net/cLsd39e1 /