jQuery Autocomplete在选择项目上提交表单,按钮点击和/或输入?

我正在尝试使用jQuery Autocomplete根据输入选择将用户重定向到url。 我已经看到了解决我的部分问题的其他问题,但是我无法将它们放在一起以提供以下function:

选择项目时触发重定向,以及输入按键和/或按钮单击。

Jsfiddle演示 – > http://jsfiddle.net/wfaxvm43/5/

资料来源:
http://jsfiddle.net/DLLVw/
选择jQuery自动完成触发按钮
JQuery自动填充:在选择时提交表单?

$(function () { var stateList = [{ "value": "Tennessee", "url": "http://www.tennessee.gov" }, { "value": "Texas", "url": "http://www.texas.gov" }, { "value": "Colorado", "url": "http://www.colorado.gov" }, { "value": "Connecticut", "url": "http://www.ct.gov" }]; $("#states").autocomplete({ source: stateList, select: function (event, ui) { go(ui.item.url); // On enter key // if (event.keyCode == 13) {} // On button click //$(#'zip-form').submit() }, response: function (event, ui) { if (!ui.content.length) { $("#no-result").show(); } else { $("#no-result").hide(); } } }); }); function go(url) { window.open(url); } 

添加了autoFocus:true; 专注于结果中的第一项。 然后必须从焦点项目获取url。

 focus: function (event, ui) { currentUrl = ui.item.url; } function btnGoClick() { if (currentUrl !== "") go(currentUrl); } 

在输入字段上添加了.keypress映射到13(输入密钥)以进行输入密钥重定向。

 $("#states").keypress(function (event) { if (event.which == 13) { event.preventDefault(); btnGoClick(); } }); 

如果未找到匹配项,也设置指定的URL。

http://jsfiddle.net/wfaxvm43/8/