MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Füllen Sie das Auswahlfeld aus der Sammlung aus und filtern Sie nach dem ausgewählten Wert in Meteor

Nun, um die Auswahl zu füllen, sollten Sie {{#each}} wie folgt auf die Auswahl ändern.

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

Denn wenn Sie den {{#each}} eingeben oben in <select> Tag Meteor erstellt 1 Auswahl für jedes Unternehmen.

Und der Firmenhelfer sollte einfach sein wie ein einfaches return company.find();

Wenn Sie nun filtern möchten, gibt es viele Optionen, um dies zu erreichen, eine könnte diese sein.

Ich verwende gerne ReactiveDict(); , also werde ich in diesem Beispiel verwenden.

Installieren Sie es meteor add reactive-dict

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

 self.example = new ReactiveDict();

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

Nun zu einem Ereignis wie change , gehen Sie wie folgt vor.

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

Zeigen Sie jetzt die Ergebnisse an.

Template.example.helpers({

 showSelectedValues : function(){

  var instance = Template.instance();

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

Das sollte Ihnen ein großes Bild geben, viel Glück!