将JQuery的自动完成设置为仅在按Enter键时建议

时间:2011-10-13 10:03:34

标签: html jquery autocomplete jquery-autocomplete

我正在尝试调整自动完成功能,仅在我按下回车键时向我显示建议,而不是在我输入时..这怎么可能? 我认为编辑JQuery文件本身的代码会很容易,但我试图避免这种情况,有没有办法改变函数等等? 此时,我需要进行Ajax调用以获取将用作自动编译框的“源”的数据,因此我需要根据响应更改源代码。

2 个答案:

答案 0 :(得分:1)

分配插件时可以设置disabled = true

$( ".selector" ).autocomplete({ disabled: true });

然后启用按键我相信

$( ".selector" ).keypress(function(e){
 if(e.keyCode == 13){ // can't remember exact syntax or keycode here
   $( ".selector" ).autocomplete( "enable" );
 }
});

ui帮助页面上的选项和方法选项卡上提供了更多信息 http://jqueryui.com/demos/autocomplete/#method-option

答案 1 :(得分:0)

总结一下,这就是它的工作原理,感谢Tommy和Jags 首先在初始化中禁用自动编译,方法是添加以下选项:disabled: true
然后添加此侦听器:

$('.selector').keyup(function(e){
    if(e.keyCode == 13){ 
        $(this).autocomplete( "enable" ).autocomplete( "search" );
        $(this).autocomplete( "disable" );  
        $('.ui-autocomplete').removeClass('ui-state-disabled');
        $('.ui-autocomplete').css('cursor','pointer');
    }
});