为什么这个JqueryUI自动完成没有命中它的URL?

时间:2011-11-03 02:07:11

标签: jquery-ui jquery-ui-autocomplete

我将以下方法连接到我的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;
        }
    });
}

2 个答案:

答案 0 :(得分:1)

您可以删除网址中的../。我曾经有过同样的问题。

其次在你的ajax调用中有一个错误函数。如果它遇到了错误功能,那么你的数据就会出现问题,你需要纠正它。

正如@GregL在评论中提到的那样,你使用的是JSON而不是application / json:)

答案 1 :(得分:0)

使用Firebug并查找正在搜索的URL。如果控制台中没有显示任何内容,则javascript代码根本无效。