jquery ui 自动完成 : how to keep the select list open until a selection has been made

标签 jquery jquery-ui jquery-ui-autocomplete

我想强制用户从 jquery 自动完成 ui 的下拉列表中选择某些内容。我尝试过使用“close”事件在函数中返回 false,但这不起作用。如何在用户做出选择之前保持选择列表打开?

需要看的人, http://smartsend.ontech.com.au/quote 输入四个字母的邮政编码 - 我想保持该列表开放。

谢谢

杰森

最佳答案

为关闭事件添加自定义处理程序(重新打开结果)确实有效,但有点烦人,因为结果永远无法关闭。我希望结果在用户做出选择后保持打开状态,以便他们可以选择更多内容,但如果用户没有做出选择并单击其他位置,或者用户点击转义键,或者删除输入文本,或者执行任何其他通常会关闭结果的操作。这对我有用:

close : function (event, ui) {
    event.preventDefault();

    if ( event.which == 1 ) {
        $("ul.ui-autocomplete").show();
        $("ul.ui-autocomplete").data('keep-open', 1);
    }
    else if ( $("ul.ui-autocomplete").data('keep-open') == 1) {
        $("ul.ui-autocomplete").show();
        $("ul.ui-autocomplete").data('keep-open', 0);
    }

    return false;
}

事件。当用户进行选择时,该事件为 1,但是,另一个关闭事件将立即发生并关闭结果。所以我添加了保持打开标志。也许有更好的方法来处理这种并发症。

请注意,我还添加了一个简单的关闭按钮,以便用户在完成选择后可以手动关闭结果。

关于jquery ui 自动完成 : how to keep the select list open until a selection has been made,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4789833/

相关文章:

jquery-ui - jquery自动完成renderItem

javascript - Jquery load() 挂起

javascript - 移动响应菜单按钮不响应 jquery 单击功能

javascript - Bootstrap jquery sortable 只对行进行排序?

javascript - Firefox Select 与 jQuery UI 布局的问题

jquery - jquery 自动完成中的文本字段锁定 - 仅允许在自动完成选项内提交

javascript - 如何使按钮宽度跟随基于文本的最大宽度按钮?

javascript - 想要从弹出窗口中的单选按钮获得结果

带有 Knockout.js 的 jQuery UI 日期选择器

jquery-ui-autocomplete - jQuery UI 自动完成在输入字段中显示值而不是标签