0
我正在使用Krajee的Bootstrap文件上傳插件文件輸入&我想克隆文件輸入,以便用戶可以從不同的文件夾添加多個文件,而不是一次選擇它。我面臨的問題是在文件輸入被克隆後,它的表現很奇怪。我爲此設置了一個小提琴。 當我試圖重置或清除文件輸入時,它總是清除第一個輸入。花了這麼多小時決定在這裏發帖之後,已經嘗試了很多選擇&。 JS小提琴:https://jsfiddle.net/asfg9mna/Bootstrap文件上傳克隆
任何想法如何使它工作正常?問題是每當我點擊刪除圖標時,它總是刪除第一個輸入文件&而不是當前文件。
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');
});
@V怪客感謝張貼答案!我看到了小提琴;實際上在點擊添加按鈕的小提琴中,前面的輸入值也會因爲調用'destroy()'方法而被刪除。任何想法如何在下一個'.input-upload'類中調用'destroy()'方法,除了第一個。例如像'$('。input-upload:next')。destroy()'??? –
@V for Vendetta完美..完全按照我想要的方式工作。一直花費數小時尋找解決這個問題的方法。再次感謝 ! –
非常歡迎你! – rahulsm