相关疑难解决方法(0)

快速输入时,Ajax发送"keyup"重复结果!

这是我的Ajax:

$("form[0] :text").live("keyup", function(event) {

    event.preventDefault();
    $('.result').remove();
    var serchval = $("form[0] :text").val();

    if(serchval){

        $.ajax({

            type: "POST",
            url: "<?= site_url('pages/ajax_search') ?>",
            data: {company : serchval},
            success: function(data) {

                var results = (JSON.parse(data));
                console.log(results);

                if(results[0]){
                    $.each(results, function(index) {
                        console.log(results[index].name);
                        $("#sresults").append("<div class='result'>" + results[index].name + "</div>");
                    });
                }
                else {
                    $("#sresults").append("<div class='result'>?? ????? ?????</div>");
                }
            }
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

当我慢慢输入(慢于每秒一个字母)时,我得到的结果是正确的,当我输入更快时,我得到相同结果的2倍

示例:
慢打字:res1 res2 res3
快速输入:res1 res2 res3 res1 res2 res3

此外,欢迎任何改进代码的建议!

keyboard ajax jquery

9
推荐指数
1
解决办法
4194
查看次数

标签 统计

ajax ×1

jquery ×1

keyboard ×1