jQueryUI自动完成远程源错误定向

时间:2012-03-07 18:49:10

标签: jquery-ui jquery-ui-autocomplete

我有一个文本框的jQuery AutoComplete。初始化AutoComplete的代码是:

$("#SearchBox1").autocomplete({
    autoFocus: false,
    source: "Home/AutoComplete",
    select: function (event, ui) {
    alert(ui.item.label);
    }

当网址不包含路径时,jQuery自动填充功能正常,但当网址包含localhost/home/GoToPage/?page=2之类的内容时,则自动完成会尝试使用/home/GoToPage/Home/AutoComplete。此时,AutoComplete完全被破坏,因为它使用了错误的路径。

有没有什么好方法可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

一种可能的解决方案是基于MadRabbit的评论,以及http://net.tutsplus.com/tutorials/javascript-ajax/how-to-use-the-jquery-ui-autocomplete-widget/上的Dan Wellman jQueryUI自动完成教程

$("#SearchBox1").autocomplete({
        autoFocus: false,
        source: function (request, callback) {
            //pass request to server  
            $.getJSON("Home/AutoComplete?term=" + request.term, request, function (responseData) {

                //create array for response objects  
                var suggestions = [];

                //process response  
                $.each(responseData, function (i, val) {
                    suggestions.push(val);
                });
                //pass array to callback  
                callback(suggestions);
            });            
        },       
        select: function (event, ui) {
            $('#SearchBox1').val(ui.item.label);                           
    }
});