如何使用jQuery添加输入类型文件并将文件传递给它

时间:2019-06-05 12:47:30

标签: javascript jquery html

我有一个输入类型的文件,其ID为“ icon”,并且可以重复多次。 所以当我点击它时有一个按钮  它将追加一个新的输入类型文件,我需要使用jQuery将上传的文件从“ icon”输入发送到此新输入 这是我的代码

<input type="file" class="chooseFile" accept="image/*" id="icon">
<button type="button"  id="add_item">add item</button>
<div id="appended_inputs"></div>

这是jQuery代码

$('#add_item').click(function(){
   $('#appended_inputs').append(
       `<input type="file" id="new_icon"`>
   );
   $('#new_icon').val($('#icon').val());
});

谁能帮助我!

1 个答案:

答案 0 :(得分:0)

解决方案的问题是,您将有多个具有相同ID的元素。

尝试使用此代码,它可能就是您想要的:

$('#add_item').click(function() {
  $('#appended_inputs').append('<input type="file" class="new_icon" >');
  $('.new_icon:last').get(0).files= $('#icon').get(0).files;
});

演示

$('#add_item').click(function() {
  $('#appended_inputs').append('<input type="file" class="new_icon" >');
  $('.new_icon:last').get(0).files= $('#icon').get(0).files;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="file" class="chooseFile" accept="image/*" id="icon">
<button type="button" id="add_item">add item</button>
<div id="appended_inputs"></div>