代码之家  ›  专栏  ›  技术社区  ›  Dave

自动完成函数在minLength值之前激发

  •  -1
  • Dave  · 技术社区  · 7 年前

    我正在编写autocomplete函数,该函数应在写入第三个元素时启动:

    $(document).ready(function() {
        $('#button').autocomplete({
            minLength: 3,
            serviceUrl: '{{contextPath}}/someUrl',
            paramName: "suggestion",
            onSelect: function (suggestion) {
                alert("test");
            },
            transformResult: function(response) {
                return {
                    suggestions: $.map($.parseJSON(response), function(item) {
                        return { value: item.x, data: item.y };
                    })
                };
            },
        });
    });
    

    但是,此函数与第一个函数一起启动。 有人知道为什么吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Bruce McGivern    7 年前

    您是否在使用Ajax自动完成?( https://www.devbridge.com/sourcery/components/jquery-autocomplete/ )

    如果是,则正确的选项称为“minChars”,而不是“minLength”。

    因此,请尝试使用:

     $(document).ready(function() {
            $('#button').autocomplete({
                minChars: 3,
                serviceUrl: '{{contextPath}}/someUrl',
                paramName: "suggestion",
                onSelect: function (suggestion) {
                        alert("test");
                },
                transformResult: function(response) {
                    return {
                      suggestions: $.map($.parseJSON(response), function(item) {
                      return { value: item.x, data: item.y};
                   })
                 };
               },
            });
        });
    

    如果没有,你能告诉我你用什么库来实现这个自动完成功能吗?