繁体   English   中英

使用jQuery Autocomplete搜索多个单词

[英]Search for multiple words with jQuery Autocomplete

我真的很挣扎jQuery的自动完成插件。 我的数据库中有一个大字段,里面有多个单词,用空格分隔:

姓氏姓氏地址邮政编码

我可以获得自动完成功能来搜索单个单词。 例如,如果我输入“forename”,我会得到一个输出:

姓氏姓氏地址邮政编码。

但是,如果我输入“姓氏”,我什么也得不到。

同样,邮政编码分为两个单词,例如AB1 2CD,AB2 2CD。 如果我输入“AB1”,我可以看到“AB1 2CD”。 但是,如果我键入“AB1 2CD”,我会看到两个结果。 Firebug中 ,似乎在输入空格后触发了新的get请求。

我选择了多个选项,分隔符为“”。 这是如何调用自动完成的代码:

$().ready(function() {  
    $("#autocomplete input#autotext").autocomplete("clientsearchtest.php", {  
        width: 400,   
        multiple: true, 
        minChars: 2,
        cacheLength: 1,
        multipleSeparator: " "
    });  
});   

不仅需要“AB1 2CD”才能工作,我希望自动完成功能还可以在输入“2cd ab1”,“2cd”,“ab1”“ab cd”或“ab1 2c”时显示结果“AB1 2CD”。 这让我发疯,任何帮助都非常感谢!

我想我需要做的是以某种方式将每个间隔的字符串作为不同的变量发送到我的PHP脚本。 所以目前整个字符串都是以$q发送的。 我真的需要发送$q1$q2 ,每个都由空格字符的存在定义。 这样我的SQL select语句可以有一个where clientsearch LIKE'%$ q%'和'%$ q2'。

正如Raja评论的那样,你应该构建你的响应控制器来处理这个逻辑,而不是修改jQuery,我使用了相同的解决方案并且效果很好。 您可能希望进行一些性能测试,并确保LIKE查询不是太重。

我不知道您是否已检查此演示页面以获取自动完成功能 在那里,您可以看到满足您的不同类型的要求。 看看你是否从那里得到任何帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM