1

我已经实现了 ui 自动完成小部件。就我而言,我提供了一个固定的建议列表。

当我输入该字段并填充时,我想选择与输入字段中的文本相同的建议。

任何建议如何做到这一点?

4

1 回答 1

5

对于您需要的内容,您可以为 open 事件添加自己的处理程序,您可以在其中决定将激活哪些菜单项。这是我的示例实现:

$('#myinput').autocomplete({
    source: function(request, response) {
        response(["bus", "car", "carpet", "donkey"]);
    },
    open: function(event, ui) {
        var val = $('#myinput').val();
        var menu = $(this).data("autocomplete").menu;
        var item = menu.element.find('a:contains("' + val + '")').first();
        menu.activate($.Event({ type: "mouseenter" }), item.parent());
    }
});

你可以在这里检查小提琴。

PS:您也许可以ui直接从参数中提取菜单对象,但我没有看到它记录在案,现在我懒得进一步调查;)

PS2:当没有找到我没有包含的匹配项时,还要考虑检查空引用。

于 2012-09-07T13:36:13.220 回答