【发布时间】:2011-04-15 12:25:24
【问题描述】:
我正在尝试在我的 asp.net mvc 网站中触发自动完成字段。基本上用户输入他们的位置,然后我去我的数据库并预先填充匹配的国家和邮政编码。
我遇到的问题是,当视图加载时抛出一个错误,说“Microsoft JScript 运行时错误:抛出异常但未捕获”。它在 jquery.Ui.widget.js 文件的下面一行抛出:
throw "cannot call methods on " + name + " prior to initialization; " +
"attempted to call method '" + options + "'";
以下是我的脚本:
<script type="text/javascript" language="javascript">
$(function () {
$.ajaxSetup({ type: "POST" });
$('#Location').autocomplete('<%= Url.Action("Find") %>', {
dataType: 'json',
parse: function (data) {
var rows = new Array();
for (var i = 0; i < data.length; i++) {
rows[i] = { data: data[i], value: data[i].PlaceName, result: data[i].PlaceName, id: data[i].LocationID };
}
return rows;
},
formatItem: function (row) {
return row.PlaceName;
},
delay: 300,
autofill: true,
selectFirst: true,
highlight: false
}).result(function (event, row) {
$("input[id$='LocationID']").val(row.LocationID);
});
});
</script>
我已确保附加了所有需要的 jquery 文件,但仍然无法启动它。我已经获得了自动完成控件的简单默认功能来触发(显示预填充列表),但是当我尝试从 Json 数据类型中提取时,它让我很伤心。
有什么想法吗?
【问题讨论】:
标签: asp.net-mvc jquery-ui autocomplete