Ajax jquery键盘导航不适用于自动完成下拉列表
我使用下面的jquery代码来自动完成下拉列表。但键盘箭头导航装置不起作用。代码如下:Ajax jquery键盘导航不适用于自动完成下拉列表,jquery,Jquery,我使用下面的jquery代码来自动完成下拉列表。但键盘箭头导航装置不起作用。代码如下: $(document).ready(function () { $(document).click(function () { $("#ajax_resp").fadeOut('slow'); }); $("#location").focus(); var offset = $("#location").offs
$(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”)。淡出(“缓慢”);
});
});
});
我想启用键盘箭头导航。请帮助键盘上下导航无法处理下拉结果尝试调试代码。。看看这个链接看看这些婴儿教程