jQuery自动完成没有显示

时间:2016-02-18 23:36:46

标签: javascript jquery html

我有这段代码:

<div class="input-group">
    <form method="POST" id="id1">
        <input id="id2" type="text" style="min-width: 370px;" class="form-control" placeholder="...">
    </form>
</div>

这正确触发了以下ajax事件:

   $("#id1").on("click", function(event, ui) {
        if (event.keyCode === $.ui.keyCode.TAB && $(this).autocomplete("instance").menu.active) {
            event.preventDefault();
        }
    }).autocomplete({
        minLength: 0,
        source: function(request, response) {
            $.ajax({
                type: "GET",
                url: "/id1",
                dataType: "json",
                data: {
                    q: request.term
                },
                success: function(data) {
                    console.log(data.Data); // ["a", "b", "c"]
                    response($.ui.autocomplete.filter(data.Data, extractLast(request.term)));
                }
            });
        },
        focus: function() {
            return false;
        }
    });

我甚至检查过它是否使用["a", "b", "c"]正确打印出值,但它只是没有显示在网页中。

有人知道我做错了什么吗?

1 个答案:

答案 0 :(得分:-1)

由于错误的自动填充选择器本身 - int zstring_search_chr(char *token,char s){ if (!token || s=='\0') return 0; for (;*token; token++) if (*token == s) return 1; return 0; } 形式(不是输入),它似乎无法正确解析您的request.term

您的输入ID为$("#id1").on("click" ...,因此只需更换它,一切都应该有效。