       success: (data) =>
         @loaded()
         @ajax.has_more = !!data.length
+        return if @destroyed
         @parser.append(data) unless data is undefined
         @redraw_dropdown()
         cb() if cb
       error: =>
         @ajax.data.page = if @ajax.data.page is 2 then null else @ajax.data.page - 1
+        return if @destroyed
         @error()
 
     return @

          @loading()
          @ajax.beforeSend?(arguments...)
        success: (data) =>
          @loaded()
          @ajax.success?(arguments...)
          @parser.update(data) unless data is undefined
          @redraw_dropdown()
        error: =>
          @error()
          @ajax.error?(arguments...)
        complete: =>
          @ajax.complete?(arguments...)
    , 300


      # Reset current page and has_more flag
      delete @ajax.data.page if @ajax.data
      delete @ajax.has_more
      return @ if @destroyed

      data =
        query: @$container.$search.val()
