我没有足够的 JQuery 知识来弄清楚,在下面的这段代码中我错了。我不确定.live
处理程序。无论如何,此代码首先停止,并在 keydown 事件上<li>
添加了类“ ”。selected
我希望它<li>
在每个按键上检查所有内容。感谢您的任何建设性意见。
- 建议 - 输入字段,在 keyup 上出现自动建议列表,
- 结果 -
<ul id='result'></ul>
- 选择 -
<li>
的
脚本:
$('#suggest').live('keyup keydown', function(event) {
var search = $('#suggest').val();
$.post('search.php', {
search: search
}, function(data) {
$('#dropdown').html(data);
switch (event.which) {
case 40:
var found = 0;
$('#result li').each(function() {
if ($(this).attr("class") == "selected") {
found = 1;
}
});
if (found == 1) {
var sel = $("#result li[class='selected'");
// check if this is a last element in the list
// if so then add selected class to the first element in the list
if (sel.next().text() == '') {
$("#result li:first").addClass("selected");
} else {
sel.next().addClass('selected');
// remove class selected from previous item
sel.removeClass('selected');
}
} else {
$("#result li:first").addClass("selected");
}
break;
case 38:
//bla-bla
break;
}
});
});