Problem: I want to remove files from the selected list of files and i want to add more files to. Iam not able to assign value to the filed "uploadFile" by using this code. Please Help me in this.
$.fn.fileUploader = function (filesToUpload, sectionIdentifier) { var fileIdCounter = 0; this.closest(".files").change(function (evt) { var output = []; for (var i = 0; i < evt.target.files.length; i++) { fileIdCounter++; var file = evt.target.files[i]; var fileId = sectionIdentifier + fileIdCounter; filesToUpload.push({ id: fileId, file: file }); var removeLink = "<a class=\"removeFile\" href=\"#\" data-fileid=\"" + fileId + "\">Remove</a>"; output.push("<li><strong>", escape(file.name), "</strong> - ", file.size, " bytes. ", removeLink, "</li> "); }; $(this).children(".fileList") .append(output.join("")); //reset the input to null - nice little chrome bug! //evt.target.value = null; evt.target.value = null; }); $(this).on("click", ".removeFile", function (e) { e.preventDefault(); alert($("#uploadFile").files); var fileId = $(this).parent().children("a").data("fileid"); // loop through the files array and check if the name of that file matches FileName // and get the index of the match for (var i = 0; i < filesToUpload.length; ++i) { if (filesToUpload[i].id === fileId) filesToUpload.splice(i, 1); } $(this).parent().remove(); }); this.clear = function () { for (var i = 0; i < filesToUpload.length; ++i) { if (filesToUpload[i].id.indexOf(sectionIdentifier) >= 0) filesToUpload.splice(i, 1); } $(this).children(".fileList").empty(); } return this; }; (function () { var filesToUpload = []; var files1Uploader = $("#files1").fileUploader(filesToUpload, "files1"); })() <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="row files" id="files1"> <span class="btn btn-default btn-file"> Browse <input type="file" name="uploadFile" id="uploadFile" multiple /> </span> <br /> <ul class="fileList"></ul> </div>
Code Snippetsand move your problem statement to the top of the question.