我正在使用JQuery UI自动完成功能。一切都按预期工作,但当用户点击结果旁边时,它会关闭。现在我需要用户的响应或者在页面的那一部分停留。
现在我的问题是,如何强制用户提供输入并保留结果直到用户点击结果?
在这里你可以看到jquery ui http://jsfiddle.net/6mz2B/
的行为$("#customer-search").autocomplete({
source: [{
label: "Tom Smith",
value: "1234"},
{
label: "Tommy Smith",
value: "12321"}],
minLength: 1,
select: function(event, ui) {
event.preventDefault();
$("#customer-search").val(ui.item.label);
$("#selected-customer").val(ui.item.label);
},
focus: function(event, ui) {
event.preventDefault();
$("#customer-search").val(ui.item.label);
}
});
答案 0 :(得分:1)
如果我正确理解您的要求,您可以使用基础.show()
and .hide()
functions(他们所做的就是更改css display
属性)以确保您只在关闭后自动完成菜单select
event
$(elt).on("autocompleteclose", function() {
$(this).autocomplete("widget").show();
});
$(elt).on("autocompleteselect", function() {
$(this).autocomplete("widget").hide();
});
EG。在这里:http://jsfiddle.net/ua64n/
但是,请注意,这是强大的自动完成功能,并且很可能有一种更好(也不那么脆弱)的方法。提供更多详细信息,我会尝试提出替代方案。