MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Remplissez le champ de sélection de la collection et filtrez en fonction de la valeur sélectionnée dans le météore

Eh bien, pour remplir la sélection, vous devez modifier le {{#each}} en sélection, comme ceci.

<select>
  <option disabled selected>Choose option</option>
{{#each company}}
  <option>{{category}}</option>
{{/each}}
</select>

Parce que si vous mettez le {{#each}} en haut du <select> tag meteor créera 1 sélection pour chaque entreprise.

Et l'assistant de l'entreprise doit être simple comme un simple return company.find();

Maintenant, si vous souhaitez filtrer, il existe de nombreuses options pour y parvenir, l'une d'entre elles pourrait être celle-ci.

J'aime utiliser ReactiveDict(); , donc je vais utiliser sur cet exemple.

Installez-le meteor add reactive-dict

Template.example.onCreated(function(){
 var self = this;

 self.example = new ReactiveDict();

self.example.setDefault( 'valueToFilter' , null);
});

Maintenant, sur un événement comme change , procédez comme suit.

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;
  }
})

Affichez maintenant les résultats.

Template.example.helpers({

 showSelectedValues : function(){

  var instance = Template.instance();

  return Companies.find( { name : instance.example.get( 'valueToFilter' )} );
 }
})

Cela devrait vous donner une vue d'ensemble, bonne chance !