5

我正在使用jQuery UI Autocomplete 1.8.1Jquery 1.4.2我有这个问题。

起初,我不能强制自动完成输入字段的值,这不是一个大问题。

但我有这个问题:

select当用户选择使用鼠标来使用键盘箭头时,我不会采取类似的行动。使用键盘时,一切都很好,并且在输入文本框中选择后会出现该值,但是当使用鼠标时,它会坚持旧的(键入的)值而不是选定的值。

如何控制这个(选择后的文本框值)?为什么会有不同的行为?

PS:改变select函数内部输入框的值是没用的,因为不能做!

4

5 回答 5

3

或者您可以将其添加到选择中

select: function( event, ui ) {
    $('#input').val(ui.item.value);
}
于 2012-07-30T10:57:51.723 回答
2

你可以这样做:

$('#input').autocomplete({
   source: items,
   focus: function(event, ui) { var text = ui.item.value; 
   $('#input').val(text); 
   return false; 
   }
});

将鼠标悬停在项目上,将用当前值填充文本框,当您单击它时,该值将已显示在文本框上

于 2012-06-13T20:59:57.563 回答
2

我有一个类似的问题。

使用键盘时,文本框的焦点会丢失,但单击时焦点会返回到文本框。

可能是您在重新触发的输入字段的焦点上发生了一些事情?

于 2010-06-17T13:05:00.260 回答
1

解决方案是通过自动完成焦点回调中的 preventDefault() 来停止事件

于 2011-11-25T14:39:27.857 回答
0

我无法以完美的方式解决它,所以我设法隐藏搜索输入字段select并显示另一个自定义div,单击焦点再次传递给jQuery UI搜索字段时隐藏input

于 2010-09-22T15:44:24.237 回答