sql >> Databáze >  >> NoSQL >> MongoDB

Naplňte výběrové pole z kolekce a filtrujte podle vybrané hodnoty v meteoru

Abyste naplnili výběr, měli byste změnit {{#each}} dolů na výběr, jako je tento.

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

Protože pokud vložíte {{#each}} v horní části <select> tag meteor vytvoří 1 výběr pro každou společnost.

A firemní pomocník by měl být jednoduchý jako jednoduchý return company.find();

Nyní, pokud chcete filtrovat, existuje mnoho možností, jak toho dosáhnout, jedna by mohla být tato.

Rád používám ReactiveDict(); , takže použiji v tomto příkladu.

Nainstalujte jej meteor add reactive-dict

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

 self.example = new ReactiveDict();

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

Nyní na nějaké události, jako je change , proveďte následující.

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

Nyní ukažte výsledky.

Template.example.helpers({

 showSelectedValues : function(){

  var instance = Template.instance();

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

To by vám mělo dát velký obrázek, hodně štěstí!




  1. Mongodb dotaz konkrétní měsíc|rok ne datum

  2. MongoDB běží, ale nelze se připojit pomocí shellu

  3. MongoDB:Najděte objekty s názvy polí začínajícími na

  4. Jak se udržuje pořadí vlastností pro řazení v mongodb?