我试图用jquery在textarea字段中设置一个值,代码如下:

$("textarea#ExampleMessage").attr("value", result.exampleMessage);

问题是,一旦这段代码执行,它不改变文本区域的文本?

然而,当执行警报($("textarea#ExampleMessage").attr("value")),新设置的值返回?


当前回答

我认为这是可行的:

$("textarea#ExampleMessage").val(result.exampleMessage);

其他回答

我尝试了.val() .text() .html(),并有一些bug使用jQuery读取或设置文本区域的值…我最终使用原生js

$('#message').blur(function() {    
    if (this.value == '') { this.value = msg_greeting; }
});

我已经使用$(textarea).val/html/text(any_str_var)都为我工作。 如果你想确保你的变量作为一个字符串被添加到文本区域,你总是可以这样concat:

$(textarea).val(unknown_var + '')

.val()方法肯定用于textarea -参见:https://api.jquery.com/val/

.html()可以用来获取或设置任何元素的内容-参见:https://api.jquery.com/html/#html2

.text()与.html相同,除了它可以用来设置XML内容:参见- https://api.jquery.com/text/#text-text

您还可以阅读更多关于每个链接如何处理特殊字符的信息。

如此:

var t = $('#taCommentSalesAdministration');
t.val('Hi');

记住,这里棘手的部分是确保您使用了正确的ID。 在使用ID之前,请确保在它前面加上#。

Textarea不存储值为

<textarea value="someString">

相反,它以以下格式存储值:

<textarea>someString</textarea>

attr("value","someString")会得到这样的结果:

<textarea value="someString">someOLDString</textarea>.

试试$(“textareaid”)。innerHTML instead。

我们可以使用.val()或.text()方法来设置值。我们需要像val("hello")一样在val()中放入值。

  $(document).ready(function () {
    $("#submitbtn").click(function () {
      var inputVal = $("#inputText").val();
      $("#txtMessage").val(inputVal);
    });
  });

查看示例:http://www.codegateway.com/2012/03/set-value-to-textarea-jquery.html