2017-05-18 2 views
1

Ich bin neu bei angularjs und stecke in einer Situation fest, in der ich die ausgewählte Funkoption an das Modell/Controller-Objekt binden möchte. Was ich versuche zu tun, ist, dass alle drei Radio-Tasten (A, B und C) dieselbe Option zeigen sollten, die in App1 Radio-Optionen gewählt wurde, später kann jede (A, B und C Optionsschalter-Optionen) je nach Anwendungsfall geändert werden Ich möchte die Klicks für den Benutzer speichern.Ändern der Auswahl mehrerer Optionsfelder basierend auf einem in angularjs eingecheckten Funkgerät

Beispiel: Wenn ein Benutzer die Option Y in App1-Optionsfeldern auswählt, sollten alle drei Optionsfelder A B und C mit der Option Y aktiviert sein.

Jede Hilfe wird sehr geschätzt. Plunk herehttps://plnkr.co/edit/vuLJdUFSTsUp5hfoazBp?p=preview

+0

Plunker nicht funktioniert und mehr Klarheit müssen die Frage –

+0

@SrikanthB die editierte Frage und Plünderer arbeitet jetzt – Praveen

Antwort

0

Sie können den von angular bereitgestellten Index verwenden. Hier ist der Code, wie ich tun

HTML-Code:

<body ng-controller="MainCtrl"> 
<p>Hello {{name}}!</p> 
<div ng-repeat="app in apps" ng-init="index1 = $index"> 
    {{app.proj}} 
    <span ng-repeat="tc in typeCodes" ng-init="index2 = $index"> 
     <input type="radio" name="app_{{index1}}" ng-model="app.selectedCode" value={{tc.key}} 
       ng-change="selectionChanged(index1, app.selectedCode)">{{tc.key}} 
    </span> 
    <div> 
     <span ng-repeat="subApp in app.subApps" ng-init="index3 = $index"> 
      {{subApp.appName}}- 
      <span ng-repeat="tc in typeCodes" ng-init="index4 = $index"> 
       <input type="radio" name="tc_{{index1}}_{{index3}}" ng-model="subApp.type" ng-value="{{tc.key}}" 
         ng-checked="subApp.type === tc.key" 
         ng-change="subAppSelection(index1, index3, tc.key)">{{tc.key}} 
      </span><br> 
     </span> 
    </div><br><br> 
</div> 

Code Controller:

$scope.selectionChanged = function (ind, type) { 
    for (var j = 0; j < $scope.apps[ind].subApps.length; j++) { 
     $scope.apps[ind].subApps[j].type = type; 
    } 
} 

$scope.subAppSelection = function (ind1, ind2, type) { 
    $scope.apps[ind1].subApps[ind2].type = type; 
} 
+0

Vielen Dank für die Zeit auf diese, funktioniert wie ein Charme, aber eine weitere Sache für den aktuellen Fluss hinzuzufügen. Wenn ich das apps-Objekt> subApp> type-Eigenschaft lese, kann ich ihm einen Code für jede SubApp zuweisen? so dass bestimmte Radio-Button vorbelegt werden, sobald die Seite geladen wird. Ich habe versucht, die Eigenschaft type einen Code auf Y/N/M zu aktualisieren, aber nur ein Optionsfeld füllt ein Objekt vor (App1). Der Plünderer wurde aktualisiert – Praveen

Verwandte Themen