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

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

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

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


当前回答

Textarea不存储值为

<textarea value="someString">

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

<textarea>someString</textarea>

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

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

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

其他回答

在android上。val和。html不起作用。

$('#id').text("some value")

完成了任务。

在我的情况下,我有这个输入在iframe,任何上述解决我的问题,但这个:

我是这样解的:

$('#myId')[0].value="MY VALUE";

我的输入字段:

<textarea name="cmyInput" rows="2" cols="20" id="myId" class="nd" ignoreautotab="1"></textarea>

使用$("textarea#ExampleMessage").html('任何你想放在这里');可能是一种好方法,因为.val()在使用数据库中的数据时可能会出现问题。

例如:

数据库字段description的值为asjkdfklasdjf sjklñadf。在这种情况下,使用.val()为textarea赋值可能是一项乏味的工作。

我尝试了.val() .text() .html(),并有一些bug使用jQuery读取或设置文本区域的值…我最终使用原生js

$('#message').blur(function() {    
    if (this.value == '') { this.value = msg_greeting; }
});

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

下面是我的代码的基础:

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