ファイル入力に 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');
});