【发布时间】:2023-03-06 09:32:01
【问题描述】:
使用 jquery 我有一个自动完成文本框,例如 jQuery UI 网站http://jqueryui.com/demos/autocomplete/#combobox上的组合框示例@
$("#mycombobox").combobox();
这基本上是一个输入文本框、菜单和按钮。
问题出在我有 mycombobox 的 aspx 页面上,有一个 asp:button,当按下 Enter 键时,它连接起来提交表单。
在组合框中
$(<input>)
.autocomplete(...)
.keydown(function (e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 13 || keyCode == 108) {
$(this).blur();
return false;
}
return true;
})
keydown 是我阻止它提交的 hacky 方法,但它只做对了一半。我希望您第一次按回车键调用自动完成的更改事件,第二次按回车键可以提交表单。
如果没有 keydown hack,仍然会在自动完成上调用更改,但直到调用提交之后,使用旧值。我宁愿完全不这样做,而是找到更好的方法。
编辑
如果选择了某些东西,它的行为是正确的,当菜单显示时我如何手动选择第一个选项?
【问题讨论】:
标签: jquery asp.net jquery-ui form-submit jquery-autocomplete