2016-02-26 7 views
14

बीटा 6 में रेडियो बटन बाध्यकारी कैसे प्राप्त करता है?कोणीय 2 बीटा में रेडियो बटन से कैसे जुड़ें 6

मुझे बीटा 0 के लिए एक महान plnkr मिला (http://plnkr.co/edit/aggee6An1iHfwsqGoE3q?p=preview देखें), लेकिन जब मैं इसे बीटा 6 में अपडेट करने का प्रयास करता हूं तो यह बहुत ही टूट जाता है (http://plnkr.co/edit/voU933?p=preview देखें)।

मैं पर एक दृष्टि डाली प्रतिबद्ध है कि जोड़ा रेडियो विकल्प (https://github.com/angular/angular/commit/e725542 देखें) है, जो इस उदाहरण

@Component({ 
    template: ` 
    <input type="radio" name="food" [(ngModel)]="foodChicken"> 
    <input type="radio" name="food" [(ngModel)]="foodFish"> 
    ` 
}) 
class FoodCmp { 
    foodChicken = new RadioButtonState(true, "chicken"); 
    foodFish = new RadioButtonState(false, "fish"); 
} 

देता है, लेकिन है कि काम करने के लिए मेरे प्रयास अब तक काफी की तरह समाप्त हो गया है निर्मित समर्थन मेरा असफल plnkr।

उत्तर

18

अद्यतन

रेडियो और RC.4 में ठीक काम कर रहा है नए रूपों मॉड्यूल। https://stackoverflow.com/a/38590919/217408

मूल

कई मुद्दों में Plunker उदाहरण के लिए देखें।

<script src="https://code.angularjs.org/2.0.0-beta.7/angular2.min.js"></script> का उपयोग अपवाद का कारण बनता है। मैं इसे `मिनट से हटाकर छुटकारा पा लिया?

रेडियो value के बजाय {checked: true} मान को बांधता है। यह स्पष्ट रूप से एक बग और शायद इन

मैं इसे एक बदसूरत वैकल्पिक हल के साथ काम कर ली रूप में ही है । देखें https://plnkr.co/edit/988PSJKXCfrUXfLOGgyg?p=preview

<input type="radio" [ngModel]="{checked: model.sex == 'male'}" (ngModelChange)="model.sex='male'" name="sex" value="male">Male<br> 
    <input type="radio" [ngModel]="{checked: model.sex == 'female'}" (ngModelChange)="model.sex='female'" name="sex" value="female">Female 
+1

देख वाह, उन लिंक्स सोने कर रहे हैं! मुझे विश्वास था कि किसी के पास उदाहरण नहीं थे, लेकिन स्पष्ट रूप से यह है कि Google github मुद्दों को अनुक्रमित नहीं करता है। मैं अगली बार वहां खोज करूंगा। – Emdot

2

शायद तुम दो बार (change) घटना का उपयोग कर (ngModelChange) और हार्ड कोडिंग इनपुट मानों से छुटकारा पाने के कर सकते हैं:

<input type="radio" [ngModel]="{checked: model.sex == 'male'}" (change)="model.sex=$event.target.value" name="sex" value="male">Male<br> 
<input type="radio" [ngModel]="{checked: model.sex == 'female'}" (change)="model.sex=$event.target.value" name="sex" value="female">Female 

अपडेट किया गया plnkr.co डेमो: https://plnkr.co/edit/NiN83eCzMD3V6oe88Obg?p=preview

0

मेरे द्वारा बनाए गए एक फंक्शन "getSelection" में फ़ंक्शन में चयन के मूल्य को लोड और पास करने वाले तत्वों पर केवल एक क्लिक ईवेंट का उपयोग करके और मॉडल को अपडेट करना।

अपने टेम्पलेट में:

<ul> <li *ngFor="let p of price"><input type="radio" name="price" (click)="getValue(price.value)" value="{{p}}" #price> {{p}} </li> </ul>

आपका वर्ग:

export class App { 

    price:string; 

    price = ["1000", "2000", "3000"]; 

    constructor() { } 

    model = new SomeData(this.price); 

    getValue(price){ 
    this.model.price = price; 
    } 
} 

देखें उदाहरण: https://plnkr.co/edit/2Muje8yvWZVL9OXqG0pW?p=info

+0

प्लंकर अब – crh225

8

यह पढ़ किसी के लिए, रूपों बदल दिया है और इसलिए हाल में रेडियो बटन है रिलीज (आरसी 3), अब चाल के लिए कोई ज़रूरत नहीं :)

यह पीआर एक फॉर्मकंट्रोल उदाहरण साझा करने के लिए रेडियो बटन की क्षमता को जोड़ता है। इसका मतलब है कि आपको रेडियो बटन प्रबंधित करने के लिए अब रेडियोबटनस्टेट बनाने की आवश्यकता नहीं है।

से पहले:

<form #f="ngForm"> 
    <input type="radio" name="food" [(ngModel)]="foodChicken"> 
    <input type="radio" name="food" [(ngModel)]="foodFish"> 
</form> 

{{ f. value | json }}  // { foodChicken: {value: 'chicken', checked: false}, foodFish: {value: 'fish', checked: true} } 
class MyComp { 
    foodChicken = new RadioButtonState(false, 'chicken'); 
    foodFish = new RadioButtonState(true, 'fish'); 
} 

के बाद:

<form #f="ngForm"> 
    <input type="radio" name="food" [(ngModel)]="food" value="chicken"> 
    <input type="radio" name="food" [(ngModel)]="food" value="fish"> 
</form> 

{{ f. value | json }}  // { food: 'fish' } 
class MyComp { 
    food = 'fish'; 
} 

https://github.com/angular/angular/pull/9228

+1

काम नहीं करता है [कृपया एक उत्तर पोस्ट न करें जिसमें अनिवार्य रूप से एक लिंक शामिल है] (http://stackoverflow.com/questions/how-to-answer)। अपने उत्तर में महत्वपूर्ण बिंदु शामिल करें; अतिरिक्त जानकारी या संदर्भ के रूप में लिंक छोड़ दें। – techspider

+1

@techspider आशा है कि यह बेहतर है :) –

-1
<div class="col-lg-4"> 
      <div class="form-group"> 
       <legend class="col-form-legend">Sexo</legend> 
       <label class="custom-control custom-radio"> 
       <input value="macho" [(ngModel)]="pet.sexo" name="pet.sexo1" id="radio1" type="radio" class="custom-control-input"> 
       <span class="custom-control-indicator"></span> 
       <span class="custom-control-description">Macho</span> 
       </label> 
       <label class="custom-control custom-radio"> 
       <input value="femea" [(ngModel)]="pet.sexo" name="pet.sexo2" id="radio2" type="radio" class="custom-control-input"> 
       <span class="custom-control-indicator"></span> 
       <span class="custom-control-description">Fêmea</span> 
       </label> 
      </div> 
      </div> 
+2

कृपया संदर्भ जोड़ें। – coatless

संबंधित मुद्दे