如何使用Meteor / spacebar预选多个选项

时间:2015-04-15 15:14:17

标签: node.js meteor html-select

我想要的是:

用户会说3种语言和2种语言。

<select multiple>
  <option>language 1</option>
  <option selected>language 2</option>
  <option selected>language 3</option>
</select>

为此,我有:

<select multiple>
  {{#each isoLangs}}
  <option>{{isoLang}}</option>
  {{/each}}
</select>

Template.profile.helpers({
  isoLangs: function(){
    return [[...]]; // each line of the array is like this : {tag: aTag, name: aName} 
  },
  isoLang: function(){
    return this.name;
  }
});

并且,在会话值中,我有一个标记数组,其中包含口语的标记。

如何知道我的数组isoLangs与特定用户没有直接关系,我如何有效链接这些数据以添加“已选择”选项?

谢谢你

1 个答案:

答案 0 :(得分:0)

您可以使用_.mapdocs):

isoLangs: function(){

    var selectedname = this.name;

    return _.map([....], function(doc) {
        if(selectedName == doc.name) doc.selected = true;            
        return doc;
    }
}

你的HTML:

<select multiple>
   {{#each isoLangs}}
       {{#if selected}}       
           <option selected>{{name}}</option>
       {{else}}
           <option>{{name}}</option>
       {{/if}}
   {{/each}}
</select>