自动选择单个匹配项 jQuery UI 自动完成组合框

3

我正在使用一种稍微流行的组合框UI元素,它是一个自定义的jQuery UI自动完成扩展:点击这里

如果只有一项匹配,我希望选择该项并触发选定事件,具体来说,更改Autocomplete Combobox代码中的此部分应该是解决方案:

    _source: function (request, response) {
                var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
                response(this.element.children("option").map(function () {
                    var text = $(this).text();
                    var value = $(this).val();
                    if (this.value && (!request.term || matcher.test(text)))
                        return {
                            label: text,
                            value: value,
                            option: this
                        };
                }));
            }

我不太熟悉jQuery的map函数,虽然我非常熟悉jQuery和纯Javascript,但它的语法对我来说并不熟悉,尽管我理解这个函数在做什么。

我想要类似于下面的代码:

if(match.count == 1)
   //fire select event and/or select option in hidden select list
1个回答

2
var data = [
  "Apple",
  "Orange",
  "Pineapple",
  "Strawberry",
  "Mango"
];

$(document).ready(function () {
    $( "#fruits" ).autocomplete({
        source: data,
        autoFocus: true,
    });
});

您可以在HTML中使用以下代码:<form> <!-- 与自动完成相关联的文本框和标签 --> <label for="fruits">水果 <input type="text" name="fruits" id="fruits" /></label> </form> - Balamurugan
非常感谢您,先生或女士,这是一个非常需要的答案!我的真诚感谢。 - Brian Ogden

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接