我在我的郵政編碼應用程序中實現了一個自動完成功能。我正在Firebug中進行調試,並且在控制檯中看到該操作正在執行,並且在結果列表中顯示了一個郵政編碼列表,但實際列表在調試時未顯示。ASP.Net MVC Jquery UI自動完成 - 當我調試時列表沒有顯示
下面是我的客戶控制器的操作:
//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>
任何明顯我錯過了?就像我說的腳本抓取郵政編碼列表一樣,當我測試時,它們就不會顯示在我的頁面上。
編輯:我添加了一個圖像,顯示我在螢火蟲中看到的 - 看起來我得到我的郵政編碼,但不會顯示下拉菜單。
我也更新了我的文本框,以便它是UI的小部件DIV像這樣的內部:
<div class="ui-widget">
<input type="text" name="ZipCodeID" id="ZipCodeID" />
</div>
,這是我使用的腳本:
<script type="text/javascript">
$(document).ready(function() {
$("#ZipCodeID").autocomplete('<%= Url.Action("FindZipCode", "Customers") %>');
});
</script>
謝謝!我正在使用我使用的主題(peppergrinder)獲得的CSS,並且它正在爲其他Jquery UI工作 - 例如手風琴家。默認的CSS會是什麼?我沒有其中一個...... – Ben 2010-09-23 20:51:16
是的,默認情況下,我的意思是你得到的主題。恰恰。 – 2010-09-23 20:52:41
我仔細檢查了我的CSS,並改變了我的動作以重新調用JSON,它現在返回JSON,但仍不顯示建議div。事實上 - 我沒有建議div - 我只有UI Widget div和文本輸入。我應該有另一個div來提供建議來展示自動填充功能嗎? – Ben 2010-09-23 21:46:30