Я реализовал автозаполнение в моем приложении для почтовых индексов. Я отлаживаю в Firebug и вижу в консоли, что действие выполняется, и я получаю список почтовых индексов в списке результатов, но фактический список не отображается при отладке.
Вот действие в моем контроллере Customers:
//the autocomplete request sends a parameter 'term' that contains the filter
public ActionResult FindZipCode(string term)
{
string[] zipCodes = customerRepository.FindFilteredZipCodes(term);
//return raw text, one result on each line
return Content(string.Join("\n", zipCodes));
}
Вот разметка (сокращенно)
<% using (Html.BeginForm("Create", "Customers")) {%>
<input type="text" value="" name="ZipCodeID" id="ZipCodeID" />
<% } %>
и вот порядок загрузки моих скриптов:
<script type="text/javascript" src="/Scripts/jquery-1.4.2.js"></script>
<script type="text/javascript" src="/Scripts/jquery.ui.core.js"></script>
<script type="text/javascript" src="/Scripts/jquery.ui.widget.js"></script>
<script type="text/javascript" src="/Scripts/jquery.ui.position.js"></script>
<script type="text/javascript" src="/Scripts/jquery.ui.autocomplete.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#ZipCodeID").autocomplete({ source: '<%= Url.Action("FindZipCode", "Customers") %>'});
});
</script>
Что-нибудь очевидно, что я скучаю? Как я уже сказал, сценарий захватывает список почтовых индексов, они просто не будут отображаться на моей странице при тестировании.
РЕДАКТИРОВАТЬ: я добавил изображение, которое показывает то, что я вижу в firebug - кажется, что я получаю обратно свои почтовые индексы, но просто не отображать выпадающий список
I also updated my text box so that it's inside of the ui-widget div like so:
и это скрипт, который я использую:
<script type="text/javascript">
$(document).ready(function() {
$("#ZipCodeID").autocomplete('<%= Url.Action("FindZipCode", "Customers") %>');
});
</script>