gpt4 book ai didi

jquery-ui 自动完成在输入时不选择

转载 作者:行者123 更新时间:2023-12-03 22:26:44 26 4
gpt4 key购买 nike

我使用 jquery-ui 自动完成输入框并设置所选项目的隐藏值。

这是我使用的

 select: function(event, ui) { ...$("#myDiv").val(ui.item.value)... } 

选项(现在可能是错误的,手头没有代码,但它在我提出问题之前一直有效......)

当用鼠标从菜单中选择一个项目时它起作用,但是如果我只是输入一些文本并用 Enter 选择一个项目 - 它不会执行任何操作,就好像自动完成根本不运行选择一样功能。但是,按 Tab 键跳出框会触发选择。

我已经使用了焦点和更改:也更新了我想要的字段,但我认为这太过分了,是否真的有必要指定所有焦点、更改和选择,只是为了确保用户选择实际上将选择列表中的一个项目。

谢谢。

rofly:我正在使用 jquery-ui 自动完成,它有您提供的代码,但它看起来像这样(来自 jquery.ui.autocomplete.js)


case keyCode.ENTER:
case keyCode.NUMPAD_ENTER:
// when menu is open or has focus
if ( self.menu.active ) {
event.preventDefault();
}
//passthrough - ENTER and TAB both select the current element
case keyCode.TAB:
if ( !self.menu.active ) {
return;
}
self.menu.select( event );
break;

这看起来很花花公子,所以我不确定它是否因此而失败。

我的代码是这样的(包装在 document.read() 中

$("#someDiv").attr("autocomplete", 'off');
$("#someDiv").autocomplete({
source: function(request, response) {
if ( request.term in cache ) {
response( cache[ request.term ] );
return;
}
$.ajax({
url: "giveMeJSON.jsp",
dataType: "json",
data: request,
success: function( data ) {
cache[ request.term ] = data;
response( data );
}
})},
minLength: 1,
delay: 300,
select: function(event, ui) {
$("#someDiv").val(ui.item.label);
$("#hiddenDiv").val(ui.item.value);
}
});

所以,问题是,当用户用鼠标从菜单中选择并且按 Tab 键移出字段时(keyUp、keyDown 选择然后按 Tab 键退出,有效),但 keyUp、keyDown 选择 itme,然后输入,什么也没有发生!

最佳答案

类似的实例适用于 jQuery 1.4.2 和 jQuery-ui 1.8.7。需要注意的是,Enter 似乎仅在从列表中选择一项时才起作用。如果您要创建一个不存在的新条目,则按 Enter 键不会触发选择或更改事件。我必须绑定(bind)一个单独的事件处理程序才能使这种情况顺利进行。

关于jquery-ui 自动完成在输入时不选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3357441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com