jQuery(document).ready(function(){ //AJAX Upload jQuery('.image_upload_button').each(function(){ var clickedObject = jQuery(this); var clickedID = jQuery(this).attr('id'); new AjaxUpload(clickedID, { action: '', name: clickedID, // File upload name data: { // Additional data to send action: 'of_ajax_post_action', type: 'upload', data: clickedID }, autoSubmit: true, // Submit file after selection responseType: false, onChange: function(file, extension){}, onSubmit: function(file, extension){ clickedObject.text('Uploading'); // change button text, when user selects file this.disable(); // If you want to allow uploading only 1 file at time, you can disable upload button interval = window.setInterval(function(){ var text = clickedObject.text(); if (text.length < 13){ clickedObject.text(text + '.'); } else { clickedObject.text('Uploading'); } }, 200); }, onComplete: function(file, response) { window.clearInterval(interval); clickedObject.text('Upload Image'); this.enable(); // enable upload button // If there was an error if(response.search('Upload Error') > -1){ var buildReturn = '' + response + ''; jQuery(".upload-error").remove(); clickedObject.parent().after(buildReturn); } else{ var buildReturn = ''; jQuery(".upload-error").remove(); jQuery("#image_" + clickedID).remove(); clickedObject.parent().after(buildReturn); jQuery('img#image_'+clickedID).fadeIn(); clickedObject.next('div').fadeIn(); clickedObject.parent().prev('input').val(response); } } }); }); //AJAX Remove (clear option value) jQuery('.image_reset_button').click(function(){ var clickedObject = jQuery(this); var clickedID = jQuery(this).attr('id'); var theID = jQuery(this).attr('title'); var ajax_url = ''; var data = { action: 'of_ajax_post_action', type: 'image_reset', data: theID }; jQuery.post(ajax_url, data, function(response) { var image_to_remove = jQuery('#image_' + theID); var button_to_hide = jQuery('#reset_' + theID); image_to_remove.fadeOut(500,function(){ jQuery(this).remove(); }); button_to_hide.fadeOut(); clickedObject.parent().prev('input').val(''); }); return false; }); });