2010-12-04 77 views
1

我有这样一个清单:jQuery的手柄按键的列表

<div id="txt"></div> 
<ul><li><a href="#">Tom</a></li><li><a href="#">Tina</a></li><li><a href="#">Berba</a></li><li><a href="#">Tyson</a></li><li><a href="#">Bank</a></li></ul> 

我的目标是:当我按下像“T”和“汤姆”一键将出现在#txt,按“T”一次更多时间,蒂娜将在#txt中取代汤姆。

我找不到解决方案! :(

有人能帮帮我吗?谢谢

+0

actualy什么ü需要的。那是自动完成或其他一些???请给出一个清晰的想法 – 2010-12-04 10:11:15

+0

东西像自动完成!!! – 2010-12-04 14:25:03

回答

1

听keydown事件,得到的键码,得到目标名称设置,循环名称。
可能喜欢这个

var lastchar, i=-1; 
$(document).bind('keydown',function(e){ 
    var char = String.fromCharCode(e.which), 
     names = $('li a').filter(function(){ 
     return $(this).text().charAt(0)==char; 
     }); 
    if(!names.length){ return; } 

    if(char != lastchar){ i=-1; } 
    $('#txt').text(names.eq(++i % names.length)); 
});