Cóż, aby wypełnić zaznaczenie, powinieneś zmienić {{#each}} na zaznaczenie, w ten sposób.
<select>
<option disabled selected>Choose option</option>
{{#each company}}
<option>{{category}}</option>
{{/each}}
</select>
Ponieważ jeśli umieścisz {{#each}}
u góry <select>
tag meteor utworzy 1 wybór dla każdej firmy.
Pomocnik firmy powinien być prosty jak prosty return company.find();
Teraz, jeśli chcesz filtrować, istnieje wiele opcji, aby to osiągnąć, jedną z nich może być ta.
Lubię używać ReactiveDict(); , więc użyję tego przykładu.
Zainstaluj go meteor add reactive-dict
Template.example.onCreated(function(){
var self = this;
self.example = new ReactiveDict();
self.example.setDefault( 'valueToFilter' , null);
});
Teraz na jakimś wydarzeniu, takim jak change
, wykonaj następujące czynności.
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;
}
})
Teraz pokaż wyniki.
Template.example.helpers({
showSelectedValues : function(){
var instance = Template.instance();
return Companies.find( { name : instance.example.get( 'valueToFilter' )} );
}
})
To powinno dać Ci ogólny obraz, powodzenia!