我正在使用 Krajee 的 Bootstrap 文件上传插件进行文件输入,我正在尝试克隆文件输入,以便用户可以从不同的文件夹添加多个文件,而不是一次选择它。我面临的问题是文件输入被克隆后,它的行为很奇怪。我为此设置了一个小提琴。当我尝试重置或清除文件输入时,它总是清除第一个输入。一直在尝试很多选择,在花了这么多小时后决定在这里发帖。 JS 小提琴: https ://jsfiddle.net/asfg9mna/
关于如何使其正常工作的任何想法?问题是每当我点击删除图标时,它总是删除第一个输入的文件而不是当前的文件。
HTML 代码:
<form role="form" id="upload-form" class="form-horizontal">
<div class="addFiles text-nowrap">
<div class="appendClass form-group" style="margin-bottom: 1.5%;">
<label class="col-md-2 control-label" for="input-2">Select Files</label>
<div class="col-md-9 col-9-input uploadFile">
<input placeholder="Select Files" id="input-2" name="input2[]" type="file" class="file input-upload" data-show-upload="false" data-show-preview="false">
</div>
<button type="button" class="btn btn-box-tool addFilesBtn" data-toggle="tooltip" title="Click to add more files">
<i class="fa fa-plus"> </i>
</button>
<button type="button" class="btn btn-box-tool closeFilesBtn" data-toggle="tooltip" title="Click to remove this block">
<i class="fa fa-times"> </i>
</button>
</div>
</div>
</form>
JS代码:
//Clone Upload File Div
$(document).on('click', ".addFilesBtn", function(e) {
e.preventDefault();
$(this).tooltip('hide');
$(".appendClass:first").clone(true).appendTo(".addFiles");
$('.closeFilesBtn').show();
$('.closeFilesBtn:first').hide();
//$fileInput = $('.input-upload');
//$fileInput.replaceWith( $fileInput = $fileInput.clone( true ) );
//$('.input-upload').fileinput('clear').fileinput();
$('.uploadFile').next().trigger('reset');
});