2010-01-05 54 views
3

我有一個自動完成場,我想通過下調提供了一個下降的類別爲好,希望這使得它更容易搜索到增強。這將從下拉菜單中獲取類別ID,然後將其與搜索文本一起傳遞到我的服務器端自動完成功能。jQuery的自動完成功能的多輸入

我使用jQuery自動完成插件這裏找到:

http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

演示頁是在這裏:

http://jquery.bassistance.de/autocomplete/demo/

也許這是在演示某種程度上解釋,但我只是沒有看到它。我能夠從JSON中獲取數據並將其分成多個字段。

它並沒有多大關係,但我使用ASP.NET MVC爲好。

回答

3

自動完成插件的第一參數可以是一個數組或網址。您只需將您的類別ID作爲查詢字符串參數提供給您的自動填充功能即可。

var selectedCategory = $('.categories').val(); 
var query = ''; 
if (selectedCategory !== 0) 
{ 
    query = '?category=' + selectedCategory; 
} 
$("#suggest4").autocomplete('search_service.svc' + query, { 
    // options 
}); 

希望這會有所幫助。

0

以前的答案是正確的1/2。的問題是,當.autocomplete()被調用時,該URL +查詢被立即評估這意味着當自動完成被稱爲當前選定的類別值將總是被使用。這意味着如果用戶選擇了不同的類別,新值將不會傳遞到查詢命令行。

見我的補丁此博客條目,使您可以通過一個函數,而不是一個網址,並仍然使用類似上述bendewey的示例代碼。

jquery-autocomplete-other-fields

注:我想在這裏發佈了補丁,但它是所有搞砸。

埃裏克

0

更好的解決辦法是增加extraParams回調函數,你PARAMS

extraParams: { 
    data: function(){ return new Date().getTime() } 
},