如果只有一个答案返回,我想让 jquery-ui 自动完成自动选择答案。
问问题
2956 次
2 回答
6
我使用“打开”回调设置了自动完成:
$('#people_new_user input[type="text"]').each(
function(index, element) {
var field = element.name;
$(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 = $(this).data('ui-autocomplete').menu.element.children();
if ($children.size() == 1)
{
$children.first().click();
}
}
于 2012-06-08T11:26:25.950 回答
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)。
于 2014-08-26T10:50:04.710 回答