Jquery ui autocomplete强制用户选择答案

时间:2014-05-30 13:52:39

标签: jquery jquery-ui autocomplete

我正在使用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);
    }
});

1 个答案:

答案 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/

但是,请注意,这是强大的自动完成功能,并且很可能有一种更好(也不那么脆弱)的方法。提供更多详细信息,我会尝试提出替代方案。

相关问题