我正在开发一个简单的搜索框,用户可以在其中键入一个值或从下拉菜单中选择它。现在,当您从菜单中选择时,它可以正常工作,但如果按 Enter 键,它不会执行任何操作。任何帮助表示赞赏。谢谢
var source = [ { value: "src/devices/consoles/ps4.php",
label:"PlayStation 4"
},
{ value: "src/devices/consoles/ps4.php",
label:"PS4"
},
{ value: "src/devices/consoles/ps4.php",
label:"Sony"
},
{ value: "src/devices/consoles/xbox.php",
label:"Xbox One"
},
{ value: "src/devices/consoles/xbox.php",
label:"Microsoft"
},
{ value: "src/devices/consoles/wiu.php",
label:"Nintendo"
},
{ value: "src/devices/consoles/wiu.php",
label:"Wii U"
}
];
$("input#tags").autocomplete({
source: source,
select: function( event, ui ) {
window.location.href = ui.item.value;
}
});
最佳答案
在您的事件处理程序中,尝试添加 val()
属性并说明您应该允许在代表 Enter 的 keyCode 13
上提交:
// ...
select: function (event, ui) {
window.location.href = ui.item.value;
$(this).val(ui.item.value).val();
if (event.keyCode == 13) {
$("#id_of_button").submit();
}
}
// ...
或者在事件处理程序中使用另一种方法,定义按下按键来输入并触发点击:
// ...
select: function (event, ui) {
window.location.href = ui.item.value;
var e = jQuery.Event("keydown");
e.which = 13;
$("id_of_button").trigger(e);
}
// ...
关于javascript - 按下 Enter 后,Jquery UI 自动完成功能不会提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23333806/