如果只有一个答案回来,我想让jquery-ui自动完成自动选择答案。
答案 0 :(得分:6)
我使用“开放”回调设置自动完成功能:
jQuery('#people_new_user input[type="text"]').each(
function(index, element) {
var field = element.name;
jQuery(element)
.autocomplete({
source: "/cf/AutoComplete/People?current="+field,
open: openUser
});
});
在开放回调中,我会查看是否只有一个结果,如果是,则选择它:
function openUser(event, ui)
{
// Try to select the first one if it's the only one
var $children = jQuery(this).data('autocomplete').menu.element.children();
if ($children.size() == 1)
{
$children.children('a').mouseenter().click();
}
}
答案 1 :(得分:0)
非常感谢,这对我们很有用。如果它对任何人有帮助,我在IE10下首次使用它时遇到了问题。 它在IE8,Chrome和Firefox中一直运行良好。
在IE10下,jQuery(this).data('autocomplete').menu.element.children()
行失败了:未找到成员
原来这只是因为网页有:<meta http-equiv="X-UA-Compatible" content="IE=7"/>
删除这个解决了问题(它在IE8中仍能正常工作)。
但在我注意到这一点之前,我花了很多时间尝试并且未能转移到jquery-1.11.1.min.js(来自1.6.4)和jquery-ui-1.11.0(来自1.8.16)。