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

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

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

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


当前回答

如此:

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

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

其他回答

$("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不存储值为

<textarea value="someString">

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

<textarea>someString</textarea>

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

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

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

如此:

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

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

我认为这里缺少一个重要的方面:

$('#some-text-area').val('test');

只有当有ID选择器(#)时才有效

对于类选择器,有一个选项可以使用本机值,如:

$('.some-text-area')[0].value = 'test';

你找过瓦尔吗?

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