For at udfylde valget skal du ændre {{#each}} ned til valget, sådan her.
<select>
<option disabled selected>Choose option</option>
{{#each company}}
<option>{{category}}</option>
{{/each}}
</select>
Fordi hvis du sætter {{#each}}
øverst i <select>
tag meteor vil oprette 1 udvalg for hver virksomhed.
Og firmahjælperen skal være enkel som en simpel return company.find();
Hvis du nu vil filtrere, er der mange muligheder for at opnå dette, en kunne være denne.
Jeg kan godt lide at bruge ReactiveDict(); , så jeg vil bruge dette eksempel.
Installer det meteor add reactive-dict
Template.example.onCreated(function(){
var self = this;
self.example = new ReactiveDict();
self.example.setDefault( 'valueToFilter' , null);
});
Nu på en begivenhed som change
, gør følgende.
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;
}
})
Vis nu resultaterne.
Template.example.helpers({
showSelectedValues : function(){
var instance = Template.instance();
return Companies.find( { name : instance.example.get( 'valueToFilter' )} );
}
})
Dette burde give dig et stort billede, held og lykke!