Bene, per popolare la selezione, dovresti cambiare {{#each}} fino alla selezione, in questo modo.
<select>
<option disabled selected>Choose option</option>
{{#each company}}
<option>{{category}}</option>
{{/each}}
</select>
Perché se metti il {{#each}}
nella parte superiore del <select>
tag meteor creerà 1 selezione per ogni azienda.
E l'assistente aziendale dovrebbe essere semplice come un semplice return company.find();
Ora, se vuoi filtrare, ci sono molte opzioni per farlo, una potrebbe essere questa.
Mi piace usare ReactiveDict(); , quindi lo userò in questo esempio.
Installalo meteor add reactive-dict
Template.example.onCreated(function(){
var self = this;
self.example = new ReactiveDict();
self.example.setDefault( 'valueToFilter' , null);
});
Ora su alcuni eventi come change
, procedi come segue.
Template.example.events({
'change select' : function( event, template ) {
var instance = Template.instance();
instance.example.set( 'valueToFilter' event.target.value ); //or use $('select').val() whatever you like to take the value;
}
})
Ora mostra i risultati.
Template.example.helpers({
showSelectedValues : function(){
var instance = Template.instance();
return Companies.find( { name : instance.example.get( 'valueToFilter' )} );
}
})
Questo dovrebbe darti un quadro generale, buona fortuna!