2

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

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

谢谢

杰森

4

2 回答 2

2

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

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;
}

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

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

于 2013-08-21T22:19:24.150 回答
1

我找不到这样做的方法,所以我使用了块 UI 插件

于 2011-01-27T01:06:04.580 回答