我有这个代码来克隆一些输入文件:
// length of `values` is 8 (here it counts from 1)
let i = 8 - 2 // 6
// what's at position 6 in `values`? the number 5 (counting from 0 again)
let a = 5;
// `total` is still 100 (hasn't been changed yet)
total = 100 / 5 // 20
// `total` is now 20
total = 20 + 10 // 30
如果在文件中写一些东西,然后按下带有 id var cloneId = 1;
$("#more-address").click(function()
{
var clone = $("#delivery-address-container").clone(true);
clone.find(".deliveryMethod").prop("name", "deliveryMethod" + "[" + cloneId + "]");
cloneId++;
clone.appendTo("#delivery-address-container");
});
的按钮,我也会在我的克隆中获得输入文件中的所有文本。如何清理克隆中的输入文件?
我已经测试将 #more-address
放入我的代码中,但得到相同的结果并且没有像这样的错误
val("");
我也测试过在 var cloneId = 1;
$("#more-address").click(function()
{
var clone = $("#delivery-address-container").clone(true);
clone.find(".deliveryMethod").prop("name", "deliveryMethod" + "[" + cloneId + "]").val("");
cloneId++;
clone.appendTo("#delivery-address-container").val("");
});
cloneId++;
答案 0 :(得分:0)
.val('')
只会设置集合中 one 输入的值,并且仅当 jQuery 集合是输入的集合时才会这样做。如果集合属于容器(如 #delivery-address-container
),则使用 .val
不会做任何事情。
您需要选择作为克隆后代的输入,而不仅仅是在克隆容器上调用 .val
。
clone.find('input').val('');
您还在 HTML 中创建了重复的 ID(使用 #delivery-address-container
),这是无效的标记 - 考虑删除 ID。