我正在尝试使用jQuery Autocomplete根据输入选择将用户重定向到url。我已经看到了解决我问题部分的其他问题,但是我无法将它们放在一起以提供以下功能:
在选择项目时触发重定向,以及输入按键和/或按钮单击。
Jsfiddle演示 - > http://jsfiddle.net/wfaxvm43/5/
来源:
http://jsfiddle.net/DLLVw/
jQuery autocomplete trigger button on select
JQuery Autocomplete: Submit Form on selection?
$(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);
}
答案 0 :(得分:0)
添加了autoFocus:true;专注于结果中的第一项。然后必须从焦点项目中获取网址。
focus: function (event, ui) {
currentUrl = ui.item.url;
}
function btnGoClick() {
if (currentUrl !== "") go(currentUrl);
}
在输入字段上添加了映射到13(输入密钥)的.keypress,用于输入密钥重定向。
$("#states").keypress(function (event) {
if (event.which == 13) {
event.preventDefault();
btnGoClick();
}
});
如果未找到匹配项,也设置指定的网址。