Ajax jquery键盘导航不适用于自动完成下拉列表

Ajax jquery键盘导航不适用于自动完成下拉列表,jquery,Jquery,我使用下面的jquery代码来自动完成下拉列表。但键盘箭头导航装置不起作用。代码如下: $(document).ready(function () { $(document).click(function () { $("#ajax_resp").fadeOut('slow'); }); $("#location").focus(); var offset = $("#location").offs

我使用下面的jquery代码来自动完成下拉列表。但键盘箭头导航装置不起作用。代码如下:

    $(document).ready(function () {

        $(document).click(function () {
            $("#ajax_resp").fadeOut('slow');
        });
        $("#location").focus();
        var offset = $("#location").offset();
        var width = $("#location").width() - 2;
        $("#ajax_resp").css("left", offset.left);
        $("#ajax_resp").css("width", width);
        $("#location").keyup(function (event) {
            var location = $("#location").val();
            if (location.length) {
                if (event.keyCode != 40 && event.keyCode != 38 && event.keyCode != 13) {
                    $("#loading").css("visibility", "visible");
                    $.ajax({
                        type: "POST",
                        url: "file.php?city=" + location,
                        data: "data=" + location,
                        success: function (msg) {
                            if (msg != 0) $("#ajax_resp").fadeIn("slow").html(msg);
                            else {
                                $("#ajax_resp").fadeIn("slow");
                                $("#ajax_resp").html('<div style="text-align:left;">No Matches Found</div>');
                            }
                            $("#loading").css("visibility", "hidden");
                        }
                    });
                } else {
                    switch (event.keyCode) {
                        case 40:
                            {
                                found = 0;

                                $("li").each(function () {

                                    if ($(this).attr("class") == "selected")

                                    found = 1;

                                });

                                if (found == 1) {

                                    var sel = $("li[class='selected']");

                                    sel.next().addClass("selected");

                                    sel.removeClass("selected");

                                } else $("li:first").addClass("selected");
                            }
                            break;
                        case 38:
                            {
                                found = 0;
                                $("li").each(function () {

                                    if ($(this).attr("class") == "selected")

                                    found = 1;
                                });
                                if (found == 1) {
                                    var sel = $("li[class='selected']");

                                    sel.prev().addClass("selected");

                                    sel.removeClass("selected");

                                } else $("li:last").addClass("selected");
                            }
                            break;

                        case 13:

                            $("#ajax_resp").fadeOut("slow");

                            $("#location").val($("li[class='selected'] a").text());

                            break;
                    }

                }

            } else $("#ajax_resp").fadeOut("slow");

        });

        $("#ajax_resp").mouseover(function () {

            $(this).find("li a:first-child").mouseover(function () {

                $(this).addClass("selected");

            });

            $(this).find("li a:first-child").mouseout(function () {

                $(this).removeClass("selected");

            });

            $(this).find("li a:first-child").click(function () {

                $("#location").val($(this).text());

                $("#ajax_resp").fadeOut("slow");

            });

        });

});
$(文档).ready(函数(){
$(文档)。单击(函数(){
美元(“#ajax_resp”)。淡出(“慢”);
});
$(“#位置”).focus();
var offset=$(“#位置”).offset();
变量宽度=$(“#位置”).width()-2;
$(“#ajax_resp”).css(“左”,offset.left);
$(“#ajax_resp”).css(“宽度”,width);
$(“#位置”).keyup(函数(事件){
变量位置=$(“#位置”).val();
if(位置、长度){
如果(event.keyCode!=40&&event.keyCode!=38&&event.keyCode!=13){
$(“#加载”).css(“可见性”、“可见”);
$.ajax({
类型:“POST”,
url:“file.php?city=“+位置,
数据:“数据=”+位置,
成功:功能(msg){
如果(msg!=0)$(“#ajax_resp”).fadeIn(“slow”).html(msg);
否则{
$(“#ajax_resp”).fadeIn(“慢”);
$(“#ajax_resp”).html('未找到匹配项');
}
$(“#加载”).css(“可见性”、“隐藏”);
}
});
}否则{
开关(event.keyCode){
案例40:
{
发现=0;
$(“li”)。每个(功能){
如果($(this.attr(“类”)=“选定”)
发现=1;
});
如果(找到==1){
var sel=$(“li[class='selected']);
sel.next().addClass(“选定”);
选择移除类(“选定”);
}else$(“li:first”).addClass(“selected”);
}
打破
案例38:
{
发现=0;
$(“li”)。每个(功能){
如果($(this.attr(“类”)=“选定”)
发现=1;
});
如果(找到==1){
var sel=$(“li[class='selected']);
sel.prev().addClass(“选定”);
选择移除类(“选定”);
}else$(“li:last”).addClass(“选定”);
}
打破
案例13:
美元(“#ajax_resp”)。淡出(“缓慢”);
$(“#location”).val($($($(li[class='selected']a”).text());
打破
}
}
}else美元(“#ajax_resp”)。淡出(“缓慢”);
});
$(“#ajax_resp”).mouseover(函数(){
$(this).find(“li a:first child”).mouseover(函数(){
$(此).addClass(“选定”);
});
$(this).find(“LIA:第一个孩子”).mouseout(函数(){
$(此).removeClass(“选定”);
});
$(this.find(“LIA:第一个子项”)。单击(函数(){
$(“#位置”).val($(this.text());
美元(“#ajax_resp”)。淡出(“缓慢”);
});
});
});

我想启用键盘箭头导航。请帮助

键盘上下导航无法处理下拉结果尝试调试代码。。看看这个链接看看这些婴儿教程