2012-03-04 13 views
7

मैं बहुत सरल रूपों को प्रस्तुत करने के लिए मूंछ टेम्पलेट्स का उपयोग करने की कोशिश कर रहा हूं, हालांकि, फ़ॉर्म में से एक में रेडियो बटन का संग्रह होता है। मैं यह नहीं समझ सकता कि फॉर्म प्रस्तुत होने पर सही रेडियो बटन कैसे चुना जाए।मूंछ टेम्पलेट्स के साथ रेडियो इनपुट

क्या यह कुछ आसान है और मुझे बस कुछ याद आ रहा है, या मूंछ का "तर्क-कम" पहलू वास्तव में मुझे रेडियो बटन के रूप में मूल रूप से कुछ प्रस्तुत करने से रोकता है?

data = { gender: 'female' } 

<form> 
    <label><input type="radio" name="gender" value="male"> Male</label> 
    <label><input type="radio" name="gender" value="female"> Female</label> 
</form> 

उत्तर

4

आप इस एक लैम्ब्डा उपयोग कर सकते हैं:

var data = { 
    gender: 'female', 
    wrapped: function() { 
     return function (text) { 
      return text.replace('value="' + this.gender+'"', 'value="' + this.gender+'" checked'); 
     } 
    } 
}; 

<form> 
    {{#wrapped}} 
    <label><input type="radio" name="gender" value="male"> Male</label> 
    <label><input type="radio" name="gender" value="female"> Female</label> 
    {{/wrapped}} 
</form> 

full example मैं प्रयोग किया जाता है, तो आप किसी भी परेशानी है पर एक नज़र डालें

मेरे डेटा इस तरह दिखता है।

अद्यतन:

<form> 
<label><input type="radio" name="gender" value="male"{{#maleIsDefault}} checked{{/maleIsDefault}}> 
Male</label> 
<label><input type="radio" name="gender" value="female"{{#femaleIsDefault}} checked{{/femaleIsDefault}}> Female</label> 
</form> 

var data = { 
     gender: 'female', 
     maleIsDefault: function() { 
      return this.gender == 'male'; 
     }, 
     femaleIsDefault: function() { 
      return this.gender == 'female'; 
     } 
}; 

पूर्ण उदाहरण here:

जस्टिन Hileman मुझे ऐसा करने का एक और रास्ता दिखाया।

1

एक अन्य विकल्प, coffeescript (untested) के साथ ...

// define radio button options in an array 
genders = [ 
    { code: 'M', name: 'Male' } 
    { code: "F", name: "Female" } 
] 

// flag the current object as "selected" 
for g in genders 
    if g.code == existingGenderValue 
    g.selected = true 

फिर मूंछ में, गतिशील रूप से लिंग के सरणी के आधार पर अपने बटन उत्पन्न:

{{#genders}} 
    <label class="radio"> 
    <input type="radio" name="gender" value="{{code}}" {{#selected}} checked="checked" {{/selected}}> 
    {{name}} 
    </label> 
{{/genders}} 
संबंधित मुद्दे