【问题标题】:How to enable my application to automatically perform the search when the user select a Json value in an auto complete search当用户在自动完成搜索中选择 Json 值时,如何使我的应用程序自动执行搜索
【发布时间】:2012-02-14 15:51:31
【问题描述】:

我正在实现自动完成搜索,目前我的 senario 工作如下:- 1.用户插入部分搜索条件。 2.选择预期的Json值。 3.点击ajax.Beginform搜索按钮。

但我想做的是:- 1.用户插入部分搜索条件。 2.选择预期的Json值。 3.然后系统自动进行搜索,无需点击搜索按钮(与google、yahoo等搜索引擎相同)。 这是我的代码:- 快速搜索操作方法:-

public ActionResult QuickSearch(string term) 
       { 
                                 var users = entities1.Users 
               .Where(e => e.UserID.Contains(term)) 
               .Select(r => new {value = r.UserID }); 
            return Json(users, JsonRequestBehavior.AllowGet); 

       } 

在视图上我有以下代码:-

@using (Ajax.BeginForm("Search", "User", new AjaxOptions 
{ 
    HttpMethod = "POST", 
    InsertionMode = InsertionMode.Replace, 
    UpdateTargetId = "searchResults", 
   LoadingElementId = "progress" 
})) 
{ 

     <input type="text" name="q" data-autocomplete-source="@Url.Action("QuickSearch", "User")" /> 
     <input type="hidden" name="classid" value="@ViewBag.classid"/> 



     <input type="submit" value="Search" /> 
} 

自动完成脚本:-

$(document).ready(function () {
   $("input[data-autocomplete-source]").each(function () {
var target = $(this);
target.autocomplete({ source: target.attr("data-autocomplete-source") });
});
});

【问题讨论】:

    标签: jquery asp.net-mvc-3 autocomplete


    【解决方案1】:

    您可以尝试订阅.select 事件并手动触发表单提交:

    target.autocomplete({ 
        source: target.attr("data-autocomplete-source"),
        select: function(event, ui) { 
            $(this).closest('form').trigger('submit');
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2012-01-14
      • 2018-09-12
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      相关资源
      最近更新 更多