2016-08-23 5 views
0

Ich habe eine Tabelle mit unterschiedlicher Anzahl von Zeilen.Wie mache ich dynamisch erstellte Optionsfelder erforderlich - AngularJs

<table> 
<thead> 
    <tr> 
     <th class="text-center">Name</th> 
     <th class="text-center">Select Supervisor</th> 
    </tr> 
</thead> 
    <tbody> 
     <tr ng-repeat="employeeInfo in employees" class="ng-cloak text-center"> 
      <td>{{employeeInfo.name}} {{employeeInfo.lastname}}</td> 
      <td> 
       <label><input type="radio" ng-model="employeeInfo.attributes[0].value" ng-value="true" ng-change="updateEmployeeAttribute(employeeInfo)">Approve</label> 
       <label><input type="radio" ng-model="employeeInfo.attributes[0].value" ng-value="false" ng-change="updateEmployeeAttribute(employeeInfo)">Reject</label> 
      </td> 
     </tr> 
    </tbody> 
</table> 
<div> 
    <a id="Approve" class="btn btn-primary" ng-click="approveSupervisorChanges()">Submit</a> 
</div> 

Eine der Spalten enthalten Radiobuttons „Genehmigen“ & „Ablehnen“

Wie kann ich es mache eine Anforderung, die in allen Zeilen der Benutzer ausgewählt hat, eine Radio-Button hat, bevor er vorlegen kann?

habe ich versucht, diese Lösung Validate Radio Button AngularJS durch Zugabe

ng-required="!employeeInfo.attributes[0].value" 

Aber dann scheint es, dass akzeptiert eine Anforderung ist, und wenn ausgewählt abgelehnt wird, kann ich nicht einreichen

+0

Hinweis Es ist eine Anforderung Benutzer dass nichts standardmäßig ausgewählt ist – LegionDev

+0

Mögliches Duplikat von [Validate Radio Button AngularJS] (http://stackoverflow.com/questions/24685664/validate-radio-button-angularjs) –

+0

Ich würde Schaltflächen für die Genehmigung und injizieren statt einer Vorlage erstellen Schaltflächen und Optionsfelder. FWIW: Es gibt ein 'required' Attribut für' input' Elemente. – zeroflagL

Antwort

1

Sie erforderliches Attribut setzen können einfach mögen:

<label><input type="radio" required ng-model="employeeInfo.attributes[0].value" ng-value="true" ng-change="updateEmployeeAttribute(employeeInfo)">Approve</label> 
      <label><input type="radio" required ng-model="employeeInfo.attributes[0].value" ng-value="false" ng-change="updateEmployeeAttribute(employeeInfo)">Reject</label> 
0

Ok, ich habe es funktioniert mit der Verwendung von NG-erforderlich wie folgt.

<label><input type="radio" ng-required="employeeInfo.attributes[0].value" ng-model="employeeInfo.attributes[0].value" ng-value="true" ng-change="updateEmployeeAttribute(employeeInfo)">Approve</label> 
<label><input type="radio" ng-required="!employeeInfo.attributes[0].value" ng-model="employeeInfo.attributes[0].value" ng-value="false" ng-change="updateEmployeeAttribute(employeeInfo)">Reject</label> 

, die nicht wirklich perfekt ist (aber es funktioniert), wie bei der Feststellung ausgewählt ist, nur ein Popup-Highlights der Radiobutton ablehnen und sagt: „Bitte wählen Sie eine dieser Optionen“

Verwandte Themen