克隆后如何清理输入?

时间:2021-03-04 22:55:36

标签: javascript jquery clone

我有这个代码来克隆一些输入文件:

// 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++;

1 个答案:

答案 0 :(得分:0)

.val('') 只会设置集合中 one 输入的值,并且仅当 jQuery 集合是输入的集合时才会这样做。如果集合属于容器(如 #delivery-address-container),则使用 .val 不会做任何事情。

您需要选择作为克隆后代的输入,而不仅仅是在克隆容器上调用 .val

clone.find('input').val('');

您还在 HTML 中创建了重复的 ID(使用 #delivery-address-container),这是无效的标记 - 考虑删除 ID。

相关问题