我试图用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").html('任何你想放在这里');可能是一种好方法,因为.val()在使用数据库中的数据时可能会出现问题。
例如:
数据库字段description的值为asjkdfklasdjf sjklñadf。在这种情况下,使用.val()为textarea赋值可能是一项乏味的工作。
其他回答
Textarea不存储值为
<textarea value="someString">
相反,它以以下格式存储值:
<textarea>someString</textarea>
attr("value","someString")会得到这样的结果:
<textarea value="someString">someOLDString</textarea>.
试试$(“textareaid”)。innerHTML instead。
我也有同样的问题,这个解决方案不工作,但工作的是使用html
$('#your_textarea_id').html('some_value');
$("textarea#ExampleMessage").val()在jquery中只是一个魔法。
你应该注意到textarea标签使用内部html显示,而不是在值属性就像输入标签。
<textarea>blah blah</textarea>
<input type="text" value="blah blah"/>
你应该使用
$("textarea#ExampleMessage").html(result.exampleMessage)
or
$("textarea#ExampleMessage").text(result.exampleMessage)
这取决于您是想将其显示为HTML标记还是纯文本。
我已经使用$(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
您还可以阅读更多关于每个链接如何处理特殊字符的信息。
我也有同样的问题,所以我决定在当前的浏览器中尝试它(在这个问题之后,我们在时间上晚了一年半),并且这个(.val)是有效的
$("textarea#ExampleMessage").val(result.exampleMessage);
for
IE8 FF 3.6 FF4 Opera 11 Chrome 10