我试图用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).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
您还可以阅读更多关于每个链接如何处理特殊字符的信息。
其他回答
Textarea没有value属性,它的值在标签之间,即:< Textarea >my text</ Textarea >,它不像输入字段(<input value="my text" />)。这就是为什么attr不工作:)
通过jQuery编辑文本区域内的文本使用$(id).html。
<textarea id="descricao2" name="descricao2" class="form" style="width:600px;height: 130px;"></textarea>
$("#descricao2").html("hello");
使用$("textarea#ExampleMessage").html('任何你想放在这里');可能是一种好方法,因为.val()在使用数据库中的数据时可能会出现问题。
例如:
数据库字段description的值为asjkdfklasdjf sjklñadf。在这种情况下,使用.val()为textarea赋值可能是一项乏味的工作。
要设置编码HTML的textarea值(显示为HTML),您应该使用. HTML (the_var),但如前所述,如果您尝试并再次设置它可能(很可能)将无法工作。
你可以通过清空文本区域的.empty(),然后再次设置。html(the_var)来修复这个问题。
这是一个工作的JSFiddle: https://jsfiddle.net/w7b1thgw/2/
jQuery(function($){ $('.load_html').click(function(){ var my_var = $(this).data('my_html'); $('#dynamic_html').html( my_var ); }); $('#clear_html').click(function(){ $('#dynamic_html').empty(); }); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <textarea id="dynamic_html"></textarea> <a id="google_html" class="load_html" href="#" data-my_html="<a href="google.com">google.com</a>">Google HTML</a> <a id="yahoo_html" class="load_html" href="#" data-my_html="<a href="yahoo.com">yahoo.com</a>">Yahoo HTML</a> <a id="clear_html" href="#">Clear HTML</a>
您甚至可以使用下面的代码片段。
$("textarea#ExampleMessage").append(result.exampleMessage);