流星选择元素设置选定值

时间:2014-11-02 17:01:58

标签: meteor

在我的Meteor js应用程序中,我在下面显示了一个选择元素,我需要在加载表单时检查并显示所选值,我尝试研究如何在Meteor中这样做,但找不到任何信息,那么有人可以告诉我如何选中哪个选项以将此选项作为选定选项?谢谢你的帮助

            <select name="memberType" class="form-control">
              <option value="Member">Member</option>
              <option value="Admin">Admin</option>
              <option value="Visitor">Visitor</option>                
            </select>           

1 个答案:

答案 0 :(得分:3)

您可以使用这些通用助手:

JS

Template.registerHelper("checkedIf",function(value){
  return value?"checked":"";
});

Template.registerHelper("selectedIfEquals",function(left,right){
  return left==right?"selected":"";
});

HTML

<template name="myTemplate">
  <input type="checkbox" {{checkedIf checked}}>
  <select>
    {{#each options}}
      <option value={{value}} {{selectedIfEquals value ../valueCheckedAgainst}}>
        {{text}}
      </option>
    {{/each}}
  </select>  
</template>

它们旨在与正确设置的模板数据上下文一起使用:

Template.myTemplate.helpers({
  checked:function(){
    // return a Session variable or a value from a collection
    // dummy value
    return false;
  },
  options:function(){
    return [{
      value:"value1",
      text:"First value"
    },{
      value:"value2",
      text:"Second value"
    },{
      value:"value3",
      text:"Third value"
    }];
  },
  valueCheckedAgainst(){
    // return a Session variable or a value from a collection
    // dummy value
    return "value2";
  }
});

请注意使用../parentContext语法从valueCheckedAgainst块内的父数据上下文访问{{#each}}