如何在jquery自动完成结果完成后添加事件?

时间:2012-10-29 18:56:00

标签: jquery jquery-ui autocomplete jquery-ui-autocomplete

我正在以这种方式使用Jquery UI Autocomplete插件

 $("#home_search_top").autocomplete({
                source: "/theme/site_theme/search.php",
                minLength: 2,
                parse: function() {
                    console.log("hello");
                return false;
                },
                select: function(event, ui) {
                    $('#state_id').val(ui.item.id);
                    $('#abbrev').val(ui.item.abbrev);
                }
            });

            $("#home_search_top").autocomplete({
                source: "/theme/site_theme/search.php",
                minLength: 2,
                loadingClass : "res-search"
            });

解析完成后如何显示或隐藏someDiv?

2 个答案:

答案 0 :(得分:2)

我认为您正在寻找response事件(假设您正在使用jQueryUI 1.9)。来自文档:

  

搜索完成后,在显示菜单之前触发。有用   用于本地操作建议数据,其中包含自定义源   选项回调不是必需的。当a时总是触发此事件   搜索完成,即使菜单不会显示,因为有   没有结果或禁用自动填充功能。

您应该点按此活动并隐藏#someDiv

 $("#home_search_top").autocomplete({
     source: "/theme/site_theme/search.php",
     minLength: 2,
     select: function(event, ui) {
         $('#state_id').val(ui.item.id);
         $('#abbrev').val(ui.item.abbrev);
     },
     response: function () {
         $("#someDiv").hide();
     }
 });

答案 1 :(得分:0)

select: function(event, ui) {
        $('#state_id').val(ui.item.id);
        $('#abbrev').val(ui.item.abbrev);

        // hide div:
        $("#MyDiv").hide();
    }