使用Javascript:
function editQuestion() {
$("body").on("click", ".edit_question", function(event) {
$(this).closest("form").find("textarea").text("sample text");
event.preventDefault();
});
}
$(document).ready(function() {
editQuestion();
});
HTML:
<form>
<textarea>ormar</textarea>
<div class="actions">
<a href="#" class="edit_question">Cancel</a>
</div>
</form>
点击.edit_question
链接启动该功能后,第一次所有内容都按预期运行。
但点击多次(手动删除textarea内容后)并没有做任何事情,为什么会这样?
答案 0 :(得分:4)
.text()
仅更改textarea的初始值,因为从元素的内容(<textarea>Initial value</textarea>
)读取初始值。
修改值后,当前值将存储在DOM元素的value
属性中。修改textarea后更改初始值没有任何效果。
这就是为什么你应该使用.text()
的{{3}} intead。
答案 1 :(得分:1)
检查一下,
$(document).ready(function () {
$(document).on("click", ".edit_question", function (event) {
$(this).closest("form").find("textarea").val('sample text');
event.preventDefault();
});
});
注意: .text()方法不能用于表单输入或脚本。
答案 2 :(得分:0)
尝试使用.val()方法而不是textarea的 从文档页面
.text()方法不能用于表单输入或脚本。要设置或获取input或textarea元素的文本值,请使用.val()方法。要获取脚本元素的值,请使用.html()方法。