我正在尝试为搜索框编写一个自动建议功能。除了一个方面,它似乎在做我想要的一切。所有建议都是针对先前的击键,而不是当前的(最新建议并不代表按下的最新键)。

我的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();
});


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

最佳答案

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

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

关于javascript - jQuery ajax的Autosuggest总是在后面产生一个建议1击键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19915520/

10-12 06:07