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

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

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

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


当前回答

通过jQuery编辑文本区域内的文本使用$(id).html。

<textarea id="descricao2" name="descricao2" class="form" style="width:600px;height: 130px;"></textarea>

$("#descricao2").html("hello");

其他回答

$("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没有value属性,它的值在标签之间,即:< Textarea >my text</ Textarea >,它不像输入字段(<input value="my text" />)。这就是为什么attr不工作:)

它为我工作.... 我建了一个脸书墙……

下面是我的代码的基础:

// SETS MY TEXT AREA TO EMPTY (NO VALUE)
$('textarea#message_wall').val('');

接受的答案对我来说是可行的,但这是在我意识到必须在页面加载完成后执行代码之后。在这种情况下,内联脚本不起作用,我猜是因为#my_form还没有加载完成。

$(document).ready(function() {
  $("#my_form textarea").val('');
});

我认为这是可行的:

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