我在一些td内有一个输入和textareas的表。加载页面时,这些输入和textareas为空。然后我在输入和textareas中输入文本。然后我将此页面保存到sql数据库。然后,我可以在需要时加载此表。当页面加载时,我粗略需要所有文本"值"在所有输入和textareas中加载。
我在函数中使用它来保留所有输入值。
$("input").each(function(){
$(this).attr("value", $(this).val());
});
工作正常。但是当试图将它应用于textarea时,如下所示,没有运气。
$("textarea").each(function(){
$(this).attr("value", $(this).val());
});
当我加载保存的html时,我的文本区域为空,但值=""虽然拿了文字。例如,当我加载一个空表时,textarea看起来像这样。
<textarea value="" type="text"></textarea>
我输入&#34;你好&#34;在textarea中,保存了我的html,加载时我最终得到了这个
<textarea value="hello" type="text"></textarea>
但实际的textarea是空的。
任何想法?
答案 0 :(得分:2)
因为textarea
与input
不同,而且textarea
本身的文字不在属性中。
因此,要更改/设置textarea内容,您需要使用$('textarea').val('hello');
或$.each()
然后$(this).val('hello');
不确定我明白我应该在那里做什么? - Adrien Boufflet 1 小时前
我不知道您应用value
textarea的方式/时间,但是当您这样做时,应该使用.val('some text')
代替.attr('value', 'some text')
我希望这能更好地解释它。
答案 1 :(得分:0)
这解决了我的问题。
$("textarea").each(function(){
$(this).attr("value", $(this).text(this.value));
});
获得.val()
而不是.text()
。