我有一个表格,里面有一些td的输入和文本区域。当我的页面加载时,这些输入和文本区域是空的。然后我在input和textareas中输入文本。然后,我将此页面保存到sql数据库。然后,我可以在需要的时候加载这个表。当页面加载时,我需要加载所有输入和文本区域中的所有文本“值”。
我在一个函数中使用它来保存输入的所有值。
$("input").each(function(){
$(this).attr("value", $(this).val());
});
工作正常。但是,当尝试将其应用于文本区域时,如下图所示,没有运气。
$("textarea").each(function(){
$(this).attr("value", $(this).val());
});
当我加载我保存的html时,我的文本区是空的,但是value="“接受文本。例如,当我加载一个空表时,文本区域如下所示。
<textarea value="" type="text"></textarea>
一旦我在文本框中输入了"hello“,并保存了我的html,当我加载它时,我就得到了这个结果。
<textarea value="hello" type="text"></textarea>
但是实际的文本区域是空的。
有什么想法吗?
发布于 2015-03-11 17:58:21
因为textarea
不同于input
,文本放在textarea
本身而不是属性中。
因此,要更改/设置文本区内容,您需要使用$('textarea').val('hello');
,或者如果它在$.each()
中,则使用$(this).val('hello');
不确定我明白我应该在那里做什么?- Adrien Boufflet 1小时前
我不知道如何/何时应用文本区的value
,但当您这样做时,您应该使用.val('some text')
而不是.attr('value', 'some text')
我希望这能更好地解释这一点。
发布于 2015-03-12 13:37:41
这解决了我的问题。
$("textarea").each(function(){
$(this).attr("value", $(this).text(this.value));
});
得到的是.val()
而不是.text()
https://stackoverflow.com/questions/28993856
复制