       # 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()

      success: (data) =>
        @loaded()
        @ajax.has_more = !!data.length
        @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
        @error()

    return @

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

