Pezholio Pezholio - 18 days ago 6
Javascript Question

Bootstrap Typeahead - don't autoselect first item?

I'm using this fork of the Twitter Bootstrap typeahead library, which allows asynchronous data sources as well as onselect events. It's working really well for me so far, but when a user tabs out of the field (i.e. doesn't actively select a drop down entry), the onselect event is fired (which in my case, redirects the user to another page). Is there any way I can stop the onselect event being fired if a user doesn't click? Here's what I've got so far (in CoffeeScript):

$(document).ready ->
$('#inspection_name').typeahead(
source: (typeahead, query) ->
$.ajax(
url: "/inspections/search.json?name="+query
success: (data) =>
return_list = []
$(data.results.inspections).each ->
return_list.push("<span data-url='" + this.uri + "/edit'>" + this.name + ", " + this.town + "</span>")

typeahead.process(return_list)
)

onselect: (obj) =>
window.location.href = $(obj).attr("data-url")
)

Answer

In the end, I answered my own question, and put the adjustments in this Gist:

https://gist.github.com/1977953