3

我在我的网站中使用自动完成功能,如下所示:

$(document).ready(function(){           
$('input[type="text"]').each(function(){
    var $this = $(this);
        $this.autocomplete({              
            minLength: 1,                                               
        source: "{site_url}publish/my_autocomplete?key=" + $this.attr('id')
        })
    });     
})

它工作正常,但是当有一个单词“harley motor”并且如果我输入带有空格的“ey”时,它不会显示。关于如何harley motor通过输入ey尾随空格进行选择的任何建议?

4

3 回答 3

2

URL 需要转义,因为不仅您有问题:

使用jquery的ajax请求中的空格

你需要逃脱

source: escape("{site_url}publish/my_autocomplete?key=" + $this.attr('id'))
于 2013-05-21T07:22:44.957 回答
1

我不确定只看你的代码。但似乎您在发布空间时可能遇到问题。encodeURIComponent在发布到服务器之前尝试使用对您的空间进行编码。

于 2013-05-21T06:45:05.260 回答
0

我建议您找到问题所在,服务器端或客户端..

如果您Request.Params["term"]在包含用户输入数据的服务器端获得值,那么您需要考虑服务器端逻辑在哪里出错。

否则,这可能是客户端的问题,输入的文本在某处被删除了空格。

注意: Request.Params这里我使用的是特定于 ASP.Net 的,我不确定您使用的是什么服务器端技术。但是每种语言可能都有一个等效的代码来检查请求值

于 2013-05-21T06:44:01.740 回答