自动完成不允许空格



我在我的网站上使用自动完成:

$(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的。我不确定你使用的是什么服务器端技术。但是每种语言都可能有一个等价的代码来检查请求值

最新更新