我试图用jquery在textarea字段中设置一个值,代码如下:
$("textarea#ExampleMessage").attr("value", result.exampleMessage);
问题是,一旦这段代码执行,它不改变文本区域的文本?
然而,当执行警报($("textarea#ExampleMessage").attr("value")),新设置的值返回?
我试图用jquery在textarea字段中设置一个值,代码如下:
$("textarea#ExampleMessage").attr("value", result.exampleMessage);
问题是,一旦这段代码执行,它不改变文本区域的文本?
然而,当执行警报($("textarea#ExampleMessage").attr("value")),新设置的值返回?
当前回答
你找过瓦尔吗?
$("textarea#ExampleMessage").val(result.exampleMessage);
其他回答
我认为这里缺少一个重要的方面:
$('#some-text-area').val('test');
只有当有ID选择器(#)时才有效
对于类选择器,有一个选项可以使用本机值,如:
$('.some-text-area')[0].value = 'test';
只需使用这段代码,你将永远有值:
Var t = $(this); Var v = t.val() || t.html() || t.text();
所以它会检查val()并设置它的值。如果val()得到一个空字符串,NULL, NaN o.s.,它将检查html(),然后检查text()…
我尝试了.val() .text() .html(),并有一些bug使用jQuery读取或设置文本区域的值…我最终使用原生js
$('#message').blur(function() {
if (this.value == '') { this.value = msg_greeting; }
});
Textarea不存储值为
<textarea value="someString">
相反,它以以下格式存储值:
<textarea>someString</textarea>
attr("value","someString")会得到这样的结果:
<textarea value="someString">someOLDString</textarea>.
试试$(“textareaid”)。innerHTML instead。
我已经使用$(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
您还可以阅读更多关于每个链接如何处理特殊字符的信息。