2017-12-29 4 views
0

Ich habe einige 10 Knöpfe innerhalb ng-wiederholen, die im Grunde funktionieren wie ein Schalter, um mehrfache Daten zu erhalten, jeder der Knopf muss einen Wert zum Prüfer übergeben und im Prüfer diesen Wert schieben zu einem Array beim ersten Klick und löschen Sie diesen Wert in der nächsten (Toggle-Aktion).Winkelweg des Knebels md-Knopf innerhalb ng-wiederholen

Mein HTML-Segment

<md-button id="{{choice.id}}btn{{ambutton}}" ng-repeat="ambutton in ambuttons" ng-click="getTime(choice,ambutton);" class="md-fab md-primary" ng-class="{'active md-warn': variable,'disable md-primary': !variable}">{{ambutton}}</md-button> 

Reglerfunktion

$scope.ambutton=[1,2,3,4,5,6,7,8,9,10] 
    $scope.getTime = function (choice,ambutton) { 
      $scope.variable = !$scope.variable; 
      if($scope.variable){ 
       //save the value to an array; 
      } 
      else{ 
       //remove the value from array 
      } 
     }; 

Problem konfrontiert ist, wenn ich auf eine Schaltfläche klicken, um alle die Taste aktiv wird, habe ich versucht, differnt Variablen für jede Taste wie variable0,variable1,variable2 Hinzufügen .. . (durch Hinzufügen von variable{{ambutton}}) und in Controller mit if-elseif es funktioniert gut, aber ich brauche eine bessere Lösung kann alles mögliche mit ID im Zusammenhang mit jeder Taste?

Diese

Antwort

0

Check-out http://jsfiddle.net/n2p1ocqz/7/

Sie variables als Array verwenden können und mit dem Index manipulieren, ob oder nicht wählen, wie

$scope.ambuttons=[1,2,3,4,5,6,7,8,9,10] 
    $scope.variables=[]; 
    $scope.getTime = function (choice, ambutton, index) { 
      $scope.variables[index] = !$scope.variables[index]; 
      if($scope.variable[index]){ 
       //save the value to an array; 
      } 
      else{ 
       //remove the value from array 
      } 
     }; 

und Ihre Teil wie

<md-button ng-repeat="ambutton in ambuttons track by $index" ng-click="getTime(choice, ambutton, $index);" class="md-fab md-primary" ng-class="{'active md-warn': variable,'disable md-primary': !variables[$index]}">{{ambutton}}</md-button> 
+0

Das ist großartig, aber in meinem Anwendungsfall muss ich diese Knopfsammlung möglicherweise wiederholen, um den Input für andere Wahl wie dieses zu nehmen http://jsfiddle.net/rahulaunni/fv6Lea7j/2/, wie kann ich das lösen –

+1

überprüfen Sie dieses http: // j sfiddle.net/fv6Lea7j/4/ wird das tun? –

+0

cool danke für die Hilfe –