自动完成选择事件不会每次都触发

时间:2011-11-16 15:16:54

标签: javascript jquery-ui

我的最新一期是a)我无法弄清楚如何使用jqueryui autocomplete来允许我向上和向下滚动显示的选项,示例代码会很棒(我已经尝试autoFocus: true )但是最大的问题是我的选择事件每10次触发一次,即使我在那里发出警报它似乎也很随机。目前我只能尝试使用鼠标事件选择原因a)。

我一直试图使用的最新代码如下:

    $(document).ready(function(){ 
    $("#message").autocomplete({ 

        dataType: 'json',
        source: function(request, response){

            var str = $("#message").val();
            var atindex = str.lastIndexOf('@');
            if (atindex != -1 && str.length-atindex > 1) {
                str = str.substring(atindex+1);

                var spaceindex = str.indexOf(' ');
                var lastname = ''
                if (spaceindex != -1){
                    lastname = str.substring(spaceindex+1);
                 // if (lastname.indexOf(' ') != -1){lastname = lastname.slice(0,lastname.indexOf(' '));}
                    str = str.slice(0,str.indexOf(' '))+ ' ' + lastname;
                }

            $.post("utilities/atuser.php", {data: str}, function(data){

                $("#suggestions").show();
                //$("#usersuggest").html(data);
                var json = $.parseJSON(data);
                var test = new Array();
                response($.map(json, function(item){

                    return {
                        label: item.label,
                        value: item.value,
                    }

                    })
                    );

                }); }


            }, 
        appendTo: "#usersuggest" ,

        autoFocus: true,



    }); 


    $( "#message" ).bind( "autocompleteselect", function(event, ui) { 
             $("#message").attr("value",ui.item.label);
             $("#usersuggest").focus();
             return false;
});

    $( "#message" ).bind( "autocompleteopen", function(event, ui) { 
             $("#usersuggest").focus();
});





    } );

谢谢! Shaananc

编辑:关于问题a)按键和按键现在在文本框中的值之间滚动,而不是突出显示列表中的选项,是否还有改变此行为?但是,使用向上和向下滚动输入的值是正确的,就像我点击选择我得到以下代码而不是显示在框中:*<a class="ui-corner-all" tabindex="-1">Test Name</a>*

1 个答案:

答案 0 :(得分:0)

你尝试过吗? http://jqueryui.com/demos/autocomplete/? 这似乎可以根据需要滚动选项。