Javascript 使用jQueryAjax的Autosuggest始终会在击键后生成建议1

Javascript 使用jQueryAjax的Autosuggest始终会在击键后生成建议1,javascript,jquery,ajax,autosuggest,Javascript,Jquery,Ajax,Autosuggest,我正在尝试为搜索框编写一个自动建议函数。除了一个方面,它似乎在做我想做的事情。所有建议均针对上一次击键而非当前击键(最新建议不考虑最近按下的键) 我的Javascript/JQuery代码如下: $('#searchBox').keypress(function() { if ($('#suggest').length < 1) { $('.search').append('<div id="suggest"></div>'); }

我正在尝试为搜索框编写一个自动建议函数。除了一个方面,它似乎在做我想做的事情。所有建议均针对上一次击键而非当前击键(最新建议不考虑最近按下的键)

我的Javascript/JQuery代码如下:

$('#searchBox').keypress(function() {
    if ($('#suggest').length < 1) {
        $('.search').append('<div id="suggest"></div>');
    }
    search_text = $('#searchBox').val();
    $.ajax({ url: '<?php echo base_url('home/get_suggestions'); ?>',
        data: {"search_text": search_text},
        type: 'post',
        async: 'false',
        success: function(data) {
            $('#suggest').html(data);
        }
    });
});
$('#searchBox').blur(function() {
    $('#suggest').remove();
});
$('#搜索框')。按键(函数(){
如果($('#建议')。长度<1){
$('.search')。追加('');
}
search_text=$('#searchBox').val();
$.ajax({url:''),
数据:{“搜索文本”:搜索文本},
键入:“post”,
异步:“false”,
成功:功能(数据){
$('#suggest').html(数据);
}
});
});
$('#searchBox').blur(函数(){
$(“#建议”).remove();
});

任何帮助都将不胜感激。谢谢。

尝试使用keyup事件。在keydown或keypress事件中,文本框具有“previous”值,而keyup事件具有“new”值

$('#searchBox').keyup(function() {
...
});