我的自动完成插件仅在第二个密钥后显示结果

时间:2016-09-26 01:12:16

标签: javascript jquery ajax autocomplete

我正在使用the autocomplete materialize css plugin

一切正常但我面临一个小问题。

因此,当我在事件处理程序外调用自动完成时,就像documentation中显示的一样,下拉内容列表正常显示。例如:如果我只是输入A,则会显示以A开头的所有结果。

但是,我需要将自动完成功能放在keyup事件触发器中,以便处理一些ajax请求。除了下拉列表仅在第二个键盘之后出现之外,一切都运行良好。

例如,在第一种情况下(在事件处理程序之外),如果我想搜索Apple,那么我只需要输入“A”。但是对于第二种情况(在jquery keyup事件处理程序中),我将需要输入“Ap”,因为在第一个keyup之后没有出现。

当我输入第一个字符时,如何使我的keyup事件处理程序考虑在内?

感谢您的帮助。

在keyup事件处理程序之外

 $('.autocomplete').autocomplete({
    data: results
  });

内部键盘事件处理程序

$('.autocomplete').keyup(function(e){

        $.ajax({
            url:"urladress",
            type: "POST",
            dataType: "json",
            async: false,
            success : function(result){
           
                $(".autocomplete").autocomplete({
                    data: result
                });
            }
        })
        
    })

0 个答案:

没有答案