2

我正在使用 Jquery Autocomplete 在我的网站上进行搜索。如果我god在框中输入,它会返回

The Godfather
The Godfather II
The Godfather III

如果我选择 3 个值中的任何一个,它应该会转到电影页面 ( movies.jsp)。但是,如果我在没有选择的情况下按回车,它应该进入搜索页面(GetSearchResults.jsp)并列出与我的查询匹配的所有结果。

我尝试设置一个条件来检测e.keycode==13是否输入,但是即使在我选择时也会出现这种情况The Godfather,因为文本框在浏览值时不会失去焦点。这是我的代码:

$(function(){
    $( "#search" ).autocomplete({
        source: "/Search.jsp",
        minLength: 3,
        html: true,
        select: function( event, ui ) {
                window.location.href="/movies.jsp?productId="+ui.item.id;
        },
    });
})
$("#search").keypress(function(e) {
    if(e.keyCode==13 && $(this).is(":focus")){
        var term = $(this).val();
        window.open('/GetSearchResults.jsp?type=all&term='+term, '_self');
    }
});
4

1 回答 1

1

如果焦点是您唯一关心的问题,您可以使用jQuery.blur删除它:

$(this).blur();

于 2013-05-17T13:13:25.027 回答