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

时间:2014-07-11 06:15:58

标签: javascript jquery jquery-ui combobox autocomplete

我使用的是一个稍微受欢迎的Combobox UI元素,它是一个自定义的jQuery UI自动完成扩展程序:see here

我想,如果有一个匹配项来选择匹配项并同时触发所选事件,那么特别是在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和vanilla Javascript,但我的语法对我来说并不熟悉,尽管我理解函数在做什么。

我想要像:

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

1 个答案:

答案 0 :(得分:1)

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

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