2014-09-11 3 views
0

Я пытаюсь создать текстовое поле, которое автозаполняется, когда пользователь начинает выполнять поиск некоторого имени, но он не работает. Вот мое мнение:Autocomplete не работает в asp.net mvc

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/cupertino/jquery-ui.css" type="text/css" rel="Stylesheet" /> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
      $(document).ready(function() { 
       $("#txtSearch").autocomplete({ 
        source: '@Url.Action("pesquisarUsuario")', 
        minLength: 0 
       }); 
      }); 
    </script> 






<h2>Index</h2> 


@using (@Html.BeginForm()) 
{ 
    @Html.TextBox("pesquisa", null, new { id = "txtPesq" }) 
    <input type="submit" value="Pesquisar" /> 



} 

А вот мой контроллер:

public JsonResult pesquisarUsuario(string term) 
      { 
       List<string> usuario; 

       usuario = db.usuario.Where(u => u.nomecompleto.StartsWith(term)) 
        .Select(u => u.nomecompleto).ToList(); 

       return Json(usuario, JsonRequestBehavior.AllowGet); 
      } 

Am Я-то отсутствует? потому что в моем текстовом поле не отображаются пользователи, когда я начинаю писать.

+1

вы делаете '$ (" # txtSearch "). autocomplete (', но идентификатор вашего текстового поля, похоже, является 'txtPesq' – tweray

+0

Это потому, что я пытался использовать разные коды. Я изменил на txtPesq, и он все еще не работает. –

ответ

1

Сначала попробуйте, если usuario возвращает что угодно. :-)

Try в вашем браузере: http://localhost:port/yourcontroller/pesquisarUsuario?term=t

Он должен вернуть все записи, начинающиеся с 'т'.

Если это не возвращает ничего, вот ваша проблема.

Если это произойдет, попробуйте установить полный URL:

$(document).ready(function() { 
    $("#txtSearch").autocomplete({ 
     source: 'http://yourserver/yourcontroller/pesquisarUsuario', 
     minLength: 0 
    }); 
}); 

EDIT: Я создал этот учебник с полностью рабочим примером: http://r2d2.cc/2014/09/11/autocomplete-jquery-ui-with-asp-net-mvc-simple-example/

+0

usuario работает нормально, я изменил как вы это делали, но он не работает. Я следовал этому руководству [link] (https://www.youtube.com/watch?v=quQgUNteWxY) Я не знаю, чего мне не хватает ... –

+0

Не могли бы вы показать, как бы вы сделали автозаполнение? Это просто, я думаю ... Мне просто нужно написать чье-то имя, и текстовое поле должно показать пользователям, у которых есть это имя. –

+1

Вы можете мне помочь? –

Смежные вопросы