Как включить в моем приложении автоматический поиск, когда пользователь выбирает значение Json при автоматическом поиске - PullRequest
0 голосов
/ 13 февраля 2012

Я выполняю автоматический полный поиск, в настоящее время мой 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") });
});
});

1 Ответ

0 голосов
/ 14 февраля 2012

Вы можете попробовать подписаться на событие .select и вручную запустить отправку формы:

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