我将以下方法连接到我的document.ready函数。但是,永远不会访问“myAutoCompleteURL.aspx”URL(我在页面上有一个断点,它永远不会被击中)。
有人知道为什么这不起作用?我是AutoComplete的UI版本的新手;我之前只使用过基于jquery(已弃用)的版本。
function myAutoComplete(myTextBox, myLabel, myHidden) {
var myType = $(myLabel).html();
$(myTextBox).autocomplete({
source: function (request, response) {
$.ajax({
type: 'POST',
dataType: 'json',
url: "../myAutoCompleteURL.aspx",
data: { q: request.term, type: myType },
success: function (myData) {
response($.map(myData, function (myItem) {
return { label: myItem.name, value: myItem.name, id: myItem.id }
}));
}
});
},
select: function (event, ui) {
$(myTextBox).val(ui.myItem.name);
$(myHidden).val(ui.myItem.id);
return false;
}
});
}
答案 0 :(得分:1)
您可以删除网址中的../。我曾经有过同样的问题。
其次在你的ajax调用中有一个错误函数。如果它遇到了错误功能,那么你的数据就会出现问题,你需要纠正它。
正如@GregL在评论中提到的那样,你使用的是JSON而不是application / json:)
答案 1 :(得分:0)
使用Firebug并查找正在搜索的URL。如果控制台中没有显示任何内容,则javascript代码根本无效。