如何修改这个jquery?

时间:2011-09-03 08:56:56

标签: javascript jquery

我有一个建议框脚本。它的工作很好,但问题是我想修改它以进行upkey和downkey事件。它只是提供建议,甚至不适用于鼠标点击事件。

function lookup(inputString) {
    if(inputString.length == 0) {
        // Hide the suggestion box.
        $('#suggestions').hide();
    } else {
        $.post("rpc.php", {queryString: ""+inputString+""}, function(data){
            if(data.length >0) {
                $('#suggestions').show();
                $('#autoSuggestionsList').html(data);
            }
        });
    }
} // lookup

function fill(thisValue) {
    $('#inputString').val(thisValue);
    setTimeout("$('#suggestions').hide();", 50);
}

HTML

<input type="text" size="30" value="" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" />
<div class="suggestionsBox" id="suggestions" style="display: none;"> <img src="upArrow.png" style="position: relative; top: -12px; left: 30px;" alt="upArrow" />
<div class="suggestionList" id="autoSuggestionsList"> &nbsp; </div>

由于我是jquery的新手,我可能知道如何进一步修改鼠标点击或键盘箭头键。

2 个答案:

答案 0 :(得分:1)

为什么重新发明轮子 - 你看过jquery ui自动完成吗? http://jqueryui.com/demos/autocomplete/

答案 1 :(得分:1)

我认为这可以帮助您使用键盘箭头键(注册键事件处理)

// Handling keybinding keydown.
$(document).keydown(function(e){
        switch(e.keyCode){
            case 38: //this is (UP) pressed down
            // do the action you want.
                break;
        }
});

// Handling keybinding keyup.
$(document).keyup(function(e){
        switch(e.keyCode){
            case 38: //this is (UP) pressed down
            // do the action you want.
                break;
        }
});

此链接将帮助您使用密钥代码:

http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/javascript-char-codes-key-codes.aspx