2015-09-07 68 views
0

我嘗試在我的應用中執行下拉列表。首先我使用流星,所以這是特定類型的應用程序:) 第二件事是我使用sebdah/meteor-autocompletion包,因爲我希望我的結果以特定的方式排序和限制。自動完成下拉菜單中的組結果[流星]

我需要的最後一件事是對我的結果進行分組。 例如:如果我有2個名爲「blah」的產品,我想在我的下拉列表「autocompletion」列表中僅獲得1個「blag」。

一些代碼:

HTML:

<template name="InvoicesEditInsertInsertForm"> 
    <input id="descriptionautocomplete" type="text" name="description" value="" class="form-control" autofocus="autofocus" placeholder="New Item..."> 
</template> 

JS:

Template.InvoicesEditInsertInsertForm.rendered = function() { 
AutoCompletion.init("input#descriptionautocomplete"); 
}; 

Template.InvoicesEditInsertInsertForm.events({ 
'keyup input#descriptionautocomplete': function() { 
     AutoCompletion.autocomplete({ 
      element: 'input#descriptionautocomplete',  // DOM identifier for the element 
      collection: InvoicesItem,    // MeteorJS collection object 
      field: 'description',     // Document field name to search for 
      limit: 5,       // Max number of elements to show 
      sort: { modifiedAt: -1 }, 
      });    // Sort object to filter results with 

     }, 


}); 

我需要使用的功能,可以在這裏我的組 「說明」。

我試圖做到這一點的幫手,我得到它我的屏幕上,但說實話,我不知道如何將它放入我的下拉:(

try: function() { 
     var item= InvoicesItem.find({},{sort:{modifiedAt:-1}}).fetch(); 
     var descriptions={}; 

     _.each(item,function(row){ 
      var description = row.description; 

      if(descriptions[description]==null) 
       descriptions[description]={description:description}; 
     }); 

     return _.values(descriptions); 
    }, 

回答

0

我不認爲你。可以做你想要與包什麼?如果你有看包文件的current limitations,你可以看到其他可能的解決方案,您的問題

你可以做addtional過濾如下: filter: { 'gender': 'female' }}); 但我不我不認爲這會讓你只要求唯一的選擇,

您上面爲try所寫的代碼將不會執行任何操作。自動填充不會佔用try的字段。

+0

我明白。我做了「嘗試」嘗試(:P)在我的屏幕上以HTML文件形式返回集合,並且該代碼可以工作 - 它會分組。但我不想讓它在我的屏幕上,只想在我的「自動完成下拉列表」中:) – Bart