Skip to content

Instantly share code, notes, and snippets.

@jumski
Created May 25, 2012 07:10
Show Gist options
  • Save jumski/2786323 to your computer and use it in GitHub Desktop.
Save jumski/2786323 to your computer and use it in GitHub Desktop.
Bakcbone jQuery Autocomplete View
#=require antykwariusz
#=require jquery-ui
class Antykwariusz.Suggestions extends Backbone.Collection
initialize: (options) ->
@term = ' '
@model = options.model
@modelUrl = (new @model).url
url: => "#{@modelUrl}?term=#{@term}"
setTerm: (term) =>
@term = term
#=require antykwariusz
#=require jquery-ui
class Antykwariusz.SuggestionsForInput extends Backbone.View
initialize: (options) ->
@collection = options.collection
render: =>
$(@el).addClass('has-suggestions').focus().autocomplete
minLength: 3
select: @selectCallback
source: @sourceCallback
selectCallback: (event, ui) =>
@trigger 'select', ui.item
sourceCallback: (request, response) =>
@collection.setTerm request.term
@collection.fetch @createSuccessCallback(response)
createSuccessCallback: (response) ->
success: => response(@collection.toJSON())
# capybara hack
# @$('.search input').data('autocomplete')._renderItem = (ul, item) =>
# button = $('<li></li>')
# button.data("item.autocomplete", item)
# .append("<a href=\"#\">#{item.label}</a>")
# .appendTo ul
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment