Answers:
您尝试过val吗?
$("textarea#ExampleMessage").val(result.exampleMessage);
value
属性,但不要紧,因为两者val()
并attr('value')
写JavaScript的价值属性。注意,attr()
并没有设置HTML属性!它仅设置JavaScript属性,同时尝试隐藏名称不同的情况(例如class / className)。但是,对于属性和属性执行不同操作的位置(例如在表单元素中),您仍然会看到差异。
val(foo)
为我工作(jQuery 1.9.1)。使用text(foo)
丢失来更新文本区域内容会丢失IE上的换行符,而使用val(foo)
保留它们。
$("textarea#ExampleMessage").val()
在jQuery中只是一种魔术。
您应该注意到,textarea标签使用内部html来显示,而不是像input标签一样显示在value属性中。
<textarea>blah blah</textarea>
<input type="text" value="blah blah"/>
你应该用
$("textarea#ExampleMessage").html(result.exampleMessage)
要么
$("textarea#ExampleMessage").text(result.exampleMessage)
取决于您是否要将其显示为html标签或纯文本。
我有同样的问题,所以我决定在当前的浏览器中尝试一下(此问题问世一年半后),并且此(.val
)可行
$("textarea#ExampleMessage").val(result.exampleMessage);
对于
.val()
会在几种浏览器中发挥其魔力;)
在Android .val
和.html
没有工作。
$('#id').text("some value")
做好了
我有同样的问题,此解决方案不起作用,但有效的方法是使用html
$('#your_textarea_id').html('some_value');
html()
每个文本区域只能工作一次,下一次,您想动态更改的内容textarea
,html()
将无法工作...
$('#textarea').val(encodedtext);
那里的问题:我需要从给定的div的包含中生成html代码。然后,我必须将此原始html代码放在textarea中。当我像这样使用函数$(textarea).val()时:
$(textarea).val(“一些类似<输入类型='文本'值=''的html样式=”背景:url('http://www.w.com/bg.gif')repeat-x中心; “ /> bla bla”);
要么
$('#idTxtArGenHtml')。val($('idDivMain')。html());
当它们位于quot之间时,我在使用某些特殊字符(&'“)时遇到问题。但是当我使用函数:$(textarea).html()时,文本就可以了。
有一个示例表格:
<FORM id="idFormContact" name="nFormContact" action="send.php" method="post" >
<FIELDSET id="idFieldContact" class="CMainFieldset">
<LEGEND>Test your newsletter» </LEGEND>
<p>Send to à : <input id='idInpMailList' type='text' value='youremail@gmail.com' /></p>
<FIELDSET class="CChildFieldset">
<LEGEND>Subject</LEGEND>
<LABEL for="idNomClient" class="CInfoLabel">Enter the subject: * </LABEL><BR/>
<INPUT value="" name="nSubject" type="text" id="idSubject" class="CFormInput" alt="Enter the Subject" ><BR/>
</FIELDSET>
<FIELDSET class="CChildFieldset">
<INPUT id="idBtnGen" type="button" value="Generate" onclick="onGenHtml();"/>
<INPUT id="idBtnSend" type="button" value="Send" onclick="onSend();"/><BR/><BR/>
<LEGEND>Message</LEGEND>
<LABEL for="idTxtArGenHtml" class="CInfoLabel">Html code : * </LABEL><BR/>
<span><TEXTAREA name="nTxtArGenHtml" id="idTxtArGenHtml" width='100%' cols="69" rows="300" alt="enter your message" ></TEXTAREA></span>
</FIELDSET>
</FIELDSET>
</FORM>
不能填充文本区域的javascript / jquery代码是:
function onGenHtml(){
$('#idTxtArGenHtml').html( $("#idDivMain").html() );
}
最终解决方案:
function onGenHtml(){
$('#idTxtArGenHtml').html( $("#idDivMain").html() );
$('#idTxtArGenHtml').parent().replaceWith( '<span>'+$('#idTxtArGenHtml').parent().html()+'</span>');
}
诀窍是使用span标签将textarea包裹起来,以帮助replaceWith函数。我不确定它是否很干净,但是它的工作原理也很完美,也可以在textarea中添加原始的html代码。
textarea不会将值存储为
<textarea value="someString">
而是以以下格式存储值:
<textarea>someString</textarea>
因此attr("value","someString")
,您可以得到以下结果:
<textarea value="someString">someOLDString</textarea>.
尝试$("#textareaid").val()
还是$("#textareaid").innerHTML
代替。
文本区域没有价值。jQuery .html()在这种情况下有效
$("textarea#ExampleMessage").html(result.exampleMessage);
html()
每个文本区域只能工作一次,下一次,您想动态更改的内容textarea
,html()
将无法工作...
它对我有用。。。我盖了脸书墙。
这是我的代码的基础:
// SETS MY TEXT AREA TO EMPTY (NO VALUE)
$('textarea#message_wall').val('');
要设置已编码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>
我们可以使用.val()或.text()方法来设置值。我们需要将值放在val()内,就像val(“ hello”)一样。
$(document).ready(function () {
$("#submitbtn").click(function () {
var inputVal = $("#inputText").val();
$("#txtMessage").val(inputVal);
});
});
在此处查看示例:http : //www.codegateway.com/2012/03/set-value-to-textarea-jquery.html
只需按其类型使用textarea ID:
$("textarea#samplID").val()
您甚至可以使用以下代码段。
$("textarea#ExampleMessage").append(result.exampleMessage);
当页面中有JQuery v1.4.4时,这些都不起作用。当将JQuery v1.7.1注入我的页面时,它终于可以工作了。因此,就我而言,是导致问题的原因是我的JQuery版本。
id ==> textareaid
======================
var script1 = document.createElement("script");
script1.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";
document.body.appendChild(script1);
var script2 = document.createElement("script");
script2.type = "text/javascript";
script2.innerHTML = "var $jq171 = $.noConflict();";
document.body.appendChild(script2);
$jq171('#textareaid').val('xxx');
我用了$(textarea).val/html/text(any_str_var)
所有为我工作的东西。如果要确保将变量作为字符串添加到textarea中,可以始终像这样进行连接:
$(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
您还可以阅读有关每个链接如何作用于特殊字符的更多信息。
我尝试使用JQuery设置值/文本/ html,但未成功。因此,我尝试了以下方法。
在这种情况下,我正在向DOM创建后注入新的textarea元素。
var valueToDisplay= 'Your text here even with line breaks';
var textBox = '<textarea class="form-control" >'+ valueToDisplay +'</textarea>';
$(td).html(textBox);