我在我的网站上使用自动完成:
$(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')
})
});
})
它工作得很好,但当有一个词'哈雷电机',如果我已经键入'ey '与空间,它不显示。有什么建议,我如何可以选择harley motor
只需输入ey
与尾随空格?
URL需要转义,因为不仅您有问题:
ajax请求中的空格
你需要转义:
source: escape("{site_url}publish/my_autocomplete?key=" + $this.attr('id'))
光看你的代码我不确定。但似乎你可能有问题张贴空间。在发布到服务器之前,尝试使用encodeURIComponent
对空格进行编码。
我建议你找到问题在哪里,服务器端或客户端。
如果您在服务器端获得包含用户输入的带有空间的数据的Request.Params["term"]
值,那么您需要考虑服务器端逻辑错误的地方。
否则,在客户端可能会出现问题,在某个地方输入的文本被删除了空格。
注意:这里我使用的 Request.Params
是特定于ASP的。我不确定你使用的是什么服务器端技术。但是每种语言都可能有一个等价的代码来检查请求值