2014-11-02 58 views
1

在我的流星JS应用程序我有,我需要检查并在加载的形式显示选定值的形式内部下图所示的选择元素,我试图研究如何做到这一点的流星,但couldn找不到任何信息,那么有人可以告诉我怎样才能检查选择了哪个选项,以使该选项成为选定的选项?感谢您的帮助流星选择元素设置选定值

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

回答

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语法从{{#each}}块内的父数据上下文访问valueCheckedAgainst

+0

最好的,通用的答案在那里。 – Emo 2015-11-24 15:48:33