Е, за да попълните избраното, трябва да промените {{#each}} надолу към избраното, като това.
<select>
<option disabled selected>Choose option</option>
{{#each company}}
<option>{{category}}</option>
{{/each}}
</select>
Защото, ако поставите {{#each}}
в горната част на <select>
етикет meteor ще създаде 1 избран за всяка компания.
А помощникът на компанията трябва да е прост като обикновен return company.find();
Сега, ако искате да филтрирате, има много опции за постигане на това, една може да е тази.
Обичам да използвам ReactiveDict(); , така че ще използвам в този пример.
Инсталирайте го meteor add reactive-dict
Template.example.onCreated(function(){
var self = this;
self.example = new ReactiveDict();
self.example.setDefault( 'valueToFilter' , null);
});
Сега при някакво събитие като change
, направете следното.
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;
}
})
Сега покажете резултатите.
Template.example.helpers({
showSelectedValues : function(){
var instance = Template.instance();
return Companies.find( { name : instance.example.get( 'valueToFilter' )} );
}
})
Това трябва да ви даде голяма картина, успех!