簡體   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