 
       __cancel: =>
         @__reset()
-        @setValue('')
+        @element.val('').trigger('change')
 
       __setupWidget: ->
         # Initialize the file browse button


          if id
            info = uploads.fileInfo(id, @settings)
            @__setLoaded(info, false)
          else
            @__reset()

      __changed: (e) =>
        @reloadInfo()

      __setLoaded: (infoPr, changed = true) ->
        $.when(infoPr)
          .fail(@__fail)
          .done (info) =>
            if @settings.imagesOnly && !uploads.isImage(info)
              return @__fail('image')
            @template.setFileInfo(info)
            @template.loaded()
            @setValue(info.fileId, changed)

      __fail: (type) =>
        @__cancel()


        currentUpload
          .fail(@__fail)
          .done (infos) =>
            @__setLoaded(infos[0]).done =>
              @element.trigger('change')

      __resetUpload: ->
        @uploader.reset()
