Meteor Dropdown list get and set

2019-03-16 15:56发布

问题:

What is the best way to get and select values from a dropdown list (and also in radio) in Meteor. I have created a helper:

Template.categories.helpers({
    categories: ["facebook", "news", "tv", "tweets"]
});

and in html

...
<select class="form-control" id="category">
  {{> categories}}
</select>
...
<template name="categories">
  <option disabled="disabled" selected="selected">Please Select</option> 
    {{#each categories}}
      <option value="{{this}}">{{this}}</option>
    {{/each}}
</template>

In case of edit, I would like to evaluate it with value coming from database (e.g. news) to be selected.

Thanks in advance.

回答1:

Template HTML:

<select id="category-select">
    <option disabled="disabled" selected="selected">Please Select</option> 
    {{#each categories}}
        <option value="{{this}}">{{this}}</option>
    {{/each}}
</select>

Template js:

Template.categories.helpers({
    categories: function(){
        return ["facebook", "news", "tv", "tweets"]
    }
});

Template.categories.events({
    "change #category-select": function (event, template) {
        var category = $(event.currentTarget).val();
        console.log("category : " + category);
        // additional code to do what you want with the category
    }
});


回答2:

Template.categories.helpers({
    categories: function(){
        return ["facebook", "news", "tv", "tweets"]
    }
});

And you should consider changing template name and helper, they shouldn't be the same.