$(document).on('change', '.btn-file :file', function() { var input = $(this); var numFiles = input.get(0).files ? input.get(0).files.length : 1; var label = input.val().replace(/\\/g, '/').replace(/.*\//, ''); input.trigger('fileselect', [numFiles, label]); }); $(document).ready(function() { $('.btn-file :file').on('fileselect', function(event, numFiles, label) { var input = $(this).parents('.upload-ex').find(':text'); var log = numFiles > 1 ? numFiles + ' files selected' : label; if (input.length) { input.val(log); } else { if (log) alert(log); } }); }); $('.upload-ex :text').click(function () { $(this).parents('.upload-ex').find(':file').click(); });