键盘不支持Jquery自动完成功能

时间:2015-06-24 09:56:13

标签: javascript jquery ajax

自动完成功能不适用于键盘键,但它适用于mouse.i无法通过箭头键选择项目并输入键。 这是我的代码。请建议我任何想法。以及如何在输入字段中更改我选择的项目背景颜色?

    var triggered = false;
    var trigger = "@";
    jQuery(".inputbox").autocomplete({
        source: function( request, response ) {                
                    var term = request.term; 
                    jQuery.ajax({
                        url: "/home/friends?q="+term,
                        dataType: "json",
                        success: function( data ) {
                            response( $.map( data, function( item ) {
                              // alert(item.value);
                                return {
                                    label: item.name,
                                    value: item.name                            }
                            }));
                        }
                    });

                },
        search: function() {
            if (!triggered) {
                return false;
            }
        },
        select: function(event, ui) {
            var text = this.value;
            var pos = text.lastIndexOf(trigger);

            this.value = text.substring(0, pos + trigger.length) +
                ui.item.value;

            triggered = false;

            return false;
        },
        focus: function() { return false; },
        delay: 0,
        minLength: 0,
        allowNewTags: false
    }).bind("keyup", function() {
        var text = this.value;
        var len = text.length;
        var last;
        var query;
        var index;

        if (triggered) {
            index = text.lastIndexOf(trigger);
            query = text.substring(index + trigger.length);
            $(this).autocomplete("search", query);
        }
        else if (len >= trigger.length) {
            last = text.substring(len - trigger.length);
            triggered = (last === trigger);
        }
    });

1 个答案:

答案 0 :(得分:0)

我建议使用https://github.com/ghiden/angucomplete-alt。它默认实现此功能。