2013-08-10 9 views
6

मैं (ng-repeat का प्रयोग करके) एक button (शुरू ng-disabled साथ अक्षम) के साथ जारी रखने के लिए एक रेडियो बटन सूची में आइटम नहीं हैं। जब एक रेडियो बटन चुना जाता है, तो मैं "जारी रखें" बटन सक्षम करना चाहता हूं।AngularJS में रेडियो बटन चयन के आधार पर/अक्षम बटन को सक्रिय करें

कोणीय में ऐसा करने का सही तरीका क्या है?

प्रासंगिक जे एस:

$scope.companies = [{ 
     "id": 3, 
     "name": "Twitter" 
    }, { 
     "id": 2, 
     "name": "Google" 
    }, { 
     "id": 1, 
     "name": "Apple" 
    }] 

प्रासंगिक HTML:

<table> 
    <tr ng-repeat="company in companies"> 
    <td> 
     <input type="radio" ng-model="companyId" name="companyId" value="{{company.id}}" />{{company.name}} 
     </td> 
    </tr> 
</table> 

<button ng-disabled="!companyId">Continue</button> 

Jsfiddle

धन्यवाद!

उत्तर

15

ngRepeat एक नया दायरा बनाता है, जो बटन द्वारा उपयोग किए गए दायरे का एक बाल दायरा है। आप

<input type="radio" ng-model="$parent.companyId" .../> 

का उपयोग करके इसे ठीक कर सकते हैं देखें http://jsfiddle.net/UZkM8/1/

लेकिन एक बेहतर समाधान एक वस्तु दायरे में है कि पहले से ही अद्यतन करने के लिए होगा:

$scope.userChoice = {}; 

<input type="radio" ng-model="userChoice.companyId" .../> 

<button ng-disabled="!userChoice.companyId">Continue</button> 

http://jsfiddle.net/UZkM8/3/

+1

यह काम करता है देखें पूरी तरह से। एहसास नहीं हुआ कि एनजी-दोहराने ने एक नया दायरा बनाया है। धन्यवाद जेबी! – jetcom

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