我正在跟随这个主题的Railscast,并且虽然自动完成功能可以正常工作,但当用户选择一个项目并按下回车键时,我无法让它提交表单。我有这段(coffeescript)代码,但它似乎不起作用... 请问有人能看出我哪里做错了吗?
jQuery ->
$('#search_bar').autocomplete(
source: $('#search_bar').data('autocomplete-source')
).keydown (e) ->
$('#search_button').trigger "submit" if e.keyCode is 13
理想情况下,我希望它可以在通过鼠标单击选择项目时提交 - 但不确定是否可能?
更新:我已经尝试过这个...
jQuery ->
$('#search_bar').autocomplete
source: $('#search_bar').data('autocomplete-source'),
select: (event, ui) ->
$(this).parents("form").submit()
虽然现在如果您使用键盘选择项目(并按Enter键),它现在可以正常工作,但是如果您通过鼠标单击选择项目,则仅发送您已键入的字符串而不是自动完成下拉菜单中完整的单词。 (我猜我需要的是当鼠标悬停在文本上时更新搜索字段的内容?)
更新2:已解决!只需将此添加到末尾即可
focus: (event, ui) ->
$('#search_bar').val(ui.item.value)