2010-06-16 67 views
5

我正在使用jQuery UI Autocomplete 1.8.1Jquery 1.4.2,我遇到此问题。JQuery UI自动完成,select(按鼠标)后的值不同于(按箭头键)

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

但我有这个问题吧:

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

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

P.S:更改select函数内的输入框的值是无用的,因为它无法完成!

回答

0

我无法解决它在知府的方式,所以我已经成功地隐藏select搜索输入字段和显示另一个定制div是隐藏在点击通过再次提起jQuery UI搜索input的焦点。

+0

我知道这是旧的,但我有一个类似的问题。小心分享一个jsfiddle? – MatteS 2012-09-20 18:48:14

2

我有类似的问题。

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

这可能是因为您正在重新触发的输入字段的焦点上发生了什么?

1

的sollution是由preventDefault()方法自动完成对焦回调的内停止活动

2

你可以做这样的事情:

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

悬停的项目用鼠标,将填补与文本框当前值,当你点击进入它的价值将已经显示在文本框

3

,或者您可以在选定的

select: function(event, ui) { 
    $('#input').val(ui.item.value); 
} 
添加它