我试图用jquery在textarea字段中设置一个值,代码如下:
$("textarea#ExampleMessage").attr("value", result.exampleMessage);
问题是,一旦这段代码执行,它不改变文本区域的文本?
然而,当执行警报($("textarea#ExampleMessage").attr("value")),新设置的值返回?
我试图用jquery在textarea字段中设置一个值,代码如下:
$("textarea#ExampleMessage").attr("value", result.exampleMessage);
问题是,一旦这段代码执行,它不改变文本区域的文本?
然而,当执行警报($("textarea#ExampleMessage").attr("value")),新设置的值返回?
当前回答
只需使用这段代码,你将永远有值:
Var t = $(this); Var v = t.val() || t.html() || t.text();
所以它会检查val()并设置它的值。如果val()得到一个空字符串,NULL, NaN o.s.,它将检查html(),然后检查text()…
其他回答
你找过瓦尔吗?
$("textarea#ExampleMessage").val(result.exampleMessage);
我尝试了.val() .text() .html(),并有一些bug使用jQuery读取或设置文本区域的值…我最终使用原生js
$('#message').blur(function() {
if (this.value == '') { this.value = msg_greeting; }
});
我认为这是可行的:
$("textarea#ExampleMessage").val(result.exampleMessage);
$("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标记还是纯文本。
在我的情况下,我有这个输入在iframe,任何上述解决我的问题,但这个:
我是这样解的:
$('#myId')[0].value="MY VALUE";
我的输入字段:
<textarea name="cmyInput" rows="2" cols="20" id="myId" class="nd" ignoreautotab="1"></textarea>