jquery - 来自 .clone() 的空文件输入

标签 jquery clone

我正在尝试克隆一个文件输入表单,每次我选择一个文件然后单击“添加更多”来克隆文件输入,但它已复制输入中的选定文件.

<input type="file" />
<span id="add-more-files">Add more</span>

jQuery:

$('#add-more-files').click(function()
{
   var cloned = $(this).prev().clone();
   $(cloned).insertBefore($(this));
});

演示:jsFiddle .

现在,每当您在克隆前一个文件之前选择一个文件时,您都可以看到它选择了相同的文件,我需要在克隆时将其为空。

编辑:

我怎样才能克隆这个,引用Neal's answer

<div class="wrap"><input type="file /></div>
<span id="add-more-files">Add more</span>

最佳答案

您可以尝试的是:

$('#add-more-files').click(function()
{
   var cloned = $(this).prev().clone();
   cloned.val(null);
   $(cloned).insertBefore($(this));
});

更新
或者,如果所有输入都是前一个输入的副本,则只需创建一个新输入而不是克隆:

$('#add-more-files').click(function()
{
   var cloned = $(this).prev();
   $('<input>',{type:cloned.attr('type')}).insertBefore($(this));
});

关于jquery - 来自 .clone() 的空文件输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5598613/

相关文章:

javascript - 将 css 内容属性的字体大小缩放到父级

javascript - 单击新元素后如何删除/删除添加到标签的类。?

javascript - 将类添加到上一个元素

jQuery 检测 .find (' ' ).text() 是否已定义

javascript - PHP/MySQL和JQuery如何交互?

java - 有什么理由更喜欢 System.arraycopy() 而不是 clone()?

ruby - 如何理解#dup 和#clone 对引用其他对象的对象进行操作?

c# - 如何在 .NET 中进行对象的深拷贝?

laravel - 来自 AWS Codecommit 的克隆存储库

git - 克隆 Git 存储库,不包括子目录