当我点击按钮时,我正在动态地将div添加到我的网页。
我这样做是通过克隆原始div并附加克隆来实现的。
我已经弄清楚了。但是,在克隆的div中有一个文本输入。我想确保新的克隆文本输入是清楚的。
到目前为止,克隆会继承原始输入中的任何文本。
通常以下情况可行。
$("#id").val("");
但是,因为所有div都是克隆并具有相同的信息,所以这将清除它们。
如何选择我想要清除其输入的确切克隆?
//listens for when element 'addTag' is clicked -- Works
$("#addTag").click(function() {
//clones an element 'tag' -- Work
var clone = $("#tag").clone();
//Attempts to change the value of clone -- Does not work
clone.val("Value");
// Appeneds the clone product to the end of a div -- Works
clone.appendTo($("#tags"));
});
答案 0 :(得分:0)
你应该使用这个
clone.html("<p>value</p>");
OR
clone.text("value");
.val()
方法主要用于获取表单元素的值,例如input
,select
和textarea
。对于select元素,当没有选择任何选项时返回null
,并且当存在至少一个选项时,它返回包含每个所选选项的值的数组,并且由于multiple
属性可以选择更多选项在场。
答案 1 :(得分:0)
您需要在克隆的div中找到输入字段并将其设置为空。
$(function () {
$(".tag button").on("click", function () {
var $tag = $(this).parent(".tag");
var $clone = $tag.clone(true);
$tag.after($clone);
$clone.find("input[type='text']").val("");
});
});
我为您当前的tag-element设置var
s,然后使用&#34; deep clone&#34;克隆它。用于获取要复制的click事件的参数。
然后在当前标记元素之后插入克隆,然后找到输入文本元素并将值设置为&#34;&#34;。
这是JsFiddle,也许它可以指导您找到解决方案。