使用按键自动完成以及输入键触发器

时间:2014-11-16 07:47:47

标签: jquery

我必须通过按键进行自动完成搜索,并在按下回车键后进行自动完成搜索。按下按键后工作正常但按下回车键后无法正常工作。对于我使用的Keypress

$('document').ready(function(){
   $('.input-search-text').on('focus', function(){
       var $this = $(this),
         searchType = $("#network").find('.dd-selected-value').val().toLowerCase(),
         searchURL = $(".form-search-users").attr('action');

   $this.autocomplete({
       //Remaining stuff.
   })
})

哪个工作正常。但是对于我使用的输入密钥

$('document').ready(function(){
    $('.input-search-text').keypress(function(){
       var $this = $(this);
       if(e.which == 13) {
            getSearch($this);
       }
   });
});

function getSearch(object) {
    var $this = object,
        searchType = $("#network").find('.dd-selected-value').val().toLowerCase(),
        searchURL = $(".form-search-users").attr('action');

    $this.autocomplete({
        // Remaining stuff ...
    }); 
}

我的代码在$ this.autocomplete({})之前正常工作。但由于某种原因,$这不起作用,如果我使用直接id像

$('#input).autocomplete({
        // Remaining stuff ...
});

然后它工作正常。请告诉我需要更改的地方才能使其正常工作。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您应该在search函数中使用自动填充小部件的方法getSearch

function getSearch(object) {
    var $this = object,
        searchType = $("#network").find('.dd-selected-value').val().toLowerCase(),
        searchURL = $(".form-search-users").attr('action');

    $this.autocomplete({
        // Remaining stuff ...
    })
    .autocomplete('search', $this.val()); 
}

参考:http://api.jqueryui.com/autocomplete/#method-search