jQuery - 从文本区域中删除用户输入文本
Posted
技术标签:
【中文标题】jQuery - 从文本区域中删除用户输入文本【英文标题】:jQuery - remove user input text from textarea 【发布时间】:2011-10-29 21:01:43 【问题描述】:好的,我有一个设备列表,我可以在其中选择要编辑的设备。 我有 3 个状态可供编辑。未选择任何设备时、选择了 1 个设备或选择了 x 个设备时。
我遇到的问题是,当用户在 textarea(commentField)中键入一些文本并取消编辑以编辑另一个设备时,在 textarea 中键入的文本不会消失。当我获得新编辑的新对话框时,它保持不变,评论字段具有旧评论字段中的文本(好像它没有被清除)
我尝试了以下代码来删除文本(在按下取消按钮时以及在我开始新对话框时),但没有任何效果:
$("#commentField").text(" ");
$("#commentField").value = ' ';
有谁知道如何使用 jQuery 从文本区域中删除用户输入的文本??
提前致谢。
-雷神
【问题讨论】:
Set value of textarea in jquery 的可能重复项 【参考方案1】:你正在寻找.val()
:
$("#commentField").val('');
示例: http://jsfiddle.net/andrewwhitaker/q6eLV/
【讨论】:
你知道为什么这不会触发 textarea 中的更改事件吗? @user3281466:以编程方式设置值不会触发change
事件。如果您想在设置值后调用.change
,您可以自己手动执行此操作。【参考方案2】:
由于textarea
是一个输入字段,它具有value
属性,因此您必须使用val()
方法。试试这个
$("#commentField").val('');
【讨论】:
【参考方案3】:在 jQuery 中它实际上是 $("#commentField").val(" ");
【讨论】:
【参考方案4】:您可以像这样从文本区域中删除文本:
$("#commentField").html("");
编辑:好的,这不起作用,但我真的很想知道为什么,而且我理解反对票。我一直认为textarea
标签之间的文本是innerHTML,而html()
应该只是替换它。有像输入一样的文本区域没有意义吗?还是仅仅是因为 textareas 包含大量文本,在引号之间看起来很俗气?。
在 FF6 中使用带有 innerHTML 的常规 javascript 对我有用。 demo here
【讨论】:
实际上,在这里投反对票是不公平的;我遇到了同样的问题,因此小提琴。我还假设,因为它在标签之间,.html()
或 .text()
会起作用,但显然不是。也许 jQuery 对textarea
有一个特殊情况,所以它像所有其他输入一样使用.val()
。【参考方案5】:
1)<textarea name="editor1" id="editor1" rows="10" cols="80"></textarea>
2) CKEDITOR.replace('editor1');
3) initiated = true;
在你的文本区域写你的文本
1)$("#editor1").val("your input value");
清理您的文本区域
1) $("#editor1").reset();
让你读到这里。
【讨论】:
问题没有引用CKEditor。以上是关于jQuery - 从文本区域中删除用户输入文本的主要内容,如果未能解决你的问题,请参考以下文章
如何从 jquery 的文本区域中获取选定的文本? [复制]
在将数据输出回文本区域时,如何正确清理从文本区域接收的数据?
如何使用 AngularJs 从输入或文本区域中删除特殊字符?