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

2024-03-21

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

<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));
});

Demo: jsFiddle http://jsfiddle.net/tH4HG/.

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

EDIT:

我怎样才能克隆这个,参考尼尔的回答 https://stackoverflow.com/questions/5598613/empty-file-input-from-clone/5598685#5598685?

<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));
});

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

$('#add-more-files').click(function()
{
   var cloned = $(this).prev();
   $('<input>',{type:cloned.attr('type')}).insertBefore($(this));
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

来自 .clone() 的空文件输入 的相关文章