jQuery自动完成延迟不起作用。

4

我在自动完成代码中遇到了问题。

Jquery Autocomplete 中的延迟和最小长度选项对我不起作用。

我试图在搜索函数中加入 sleep,但仍然不起作用。

在界面上看到的情况如下:1)即使只输入了 1/2 个字符,“getTags”调用也会执行;2)调用是瞬间发生的,没有任何延迟。

请帮忙解决!

$('#autocomplete').autocomplete({
        delay: 10000,
        serviceUrl: "getTags",
        minLength: 3,
        search: function( event, ui ) {
            sleepFor(2000);
            console.log("Searching for",event)
        }
});

你能创建 JSFiddle 或 CodePen 吗?我创建了一个,但无法复制这个问题 - http://codepen.io/nagasai/pen/beBQRm - Naga Sai A
该死.. 我修改了你的代码才到这里 http://codepen.io/premrajnarkhede/pen/RRoqOJ 但是这里我甚至都没有得到建议。 - LordCommander
你试过用source替换serviceURL吗? - Naga Sai A
我的回答有帮到你吗? - Naga Sai A
@NagaSaiA 是的,它成功了。我尝试了你创建的示例上的新代码并将其移植回来...非常感谢你,在答案中给了你信用。 - LordCommander
显示剩余2条评论
2个回答

2

代码片段提供的链接无法正常工作。 - Heemanshu Bhalla

0

抱歉各位

我犯了一些天真的错误,当我尝试使用NagaSai提供的示例时,这变得很清楚,请参考评论

我参考了https://designshack.net/articles/javascript/create-a-simple-autocomplete-with-html5-jquery/并下载了autocomplete-min.js

其实不需要它,我试图在此基础上使用autcomplete jquery的文档

$('#autocomplete').autocomplete({
        delay: 2000,
        source: function (request, response) {
                    jQuery.get("getTags", {
                        query: request.term
                    }, function (data) {
                        // assuming data is a JavaScript array such as
                        // ["one@abc.de", "onf@abc.de","ong@abc.de"]
                        // and not a string
                        console.log(data)
                        response(data["suggestions"]);
                    });

                    //console.log("Here")
                    //data=["heyy"]
                    //response(data);
            },
        //source:"getTags",
        minLength: 1,
        search: function( event, ui ) {
            sleepFor(100);
            console.log("Searching for",event)
        }
}); 

这个完美地运作了


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