我将以下方法连接到我的document.ready函数。然而,“myAutoCompleteURL.aspx”URL永远不会被访问(我在页面上有一个断点,它从来没有被击中)。为什么这个JqueryUI自动完成不会打到它的URL?
有人知道为什么这不起作用吗?我是新的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;
}
});
}
你可以发布一个链接到一个工作版本? –
这个'$ .ajax()'调用是否在自动完成的上下文之外工作?试着把它放在一个页面上并传入固定值,看看是否有效。例如,我相信你可能需要使用'application/json'的数据类型,并使用引用的JSON字符串代替数据。 – GregL
我可以看到我的应用程序加载这个URL:“/FileNotFound.htm?aspxerrorpath=/script/jquery/indicator.gif”。什么是indicator.gif?一个jquery文件?看来我使用的是jqueryui的错误版本。 – WEFX