2017-08-31 10 views
0

私はinput fieldをng-repeat match in matchListに持っています。私は、入力フィールドをクリックして、このチェックボックスがクリックされた回数を表示することができます。それは今働いていますが、1つの問題があります。AngularJS - ng-repeatの入力フィールドに焦点を合わせる

入力フィールドをクリックすると、フォーカスは0-1からカウントされますが、すべてのオブジェクトでは、ng-repeatにあります。私は、クリックされた入力フィールドの数を表示したいだけです。だから私は、入力フィールドをクリックして入力フィールド数を取得するためのモデルにする必要があります。

これは私のNG-繰り返しで私の入力フィールドです:

<input ng-model="??" ng-focus="focusEvent()" type="number" min="0" max="9" step="1" ng-value="'{{ match[2] }}'"> 

これは私のコントローラである:次のことについてどのように

app.controller('gametableController', ['currentAuth', '$scope', '$location', '$firebaseObject', '$firebaseArray', '$http', 'cfpLoadingBar', function (currentAuth, $scope, $location, $firebaseObject, $firebaseArray, $http, cfpLoadingBar) { 
    $scope.versus = 'VS'; 
    $scope.onMobileInfo = 'Der Spielplan wird nur auf einem größeren Bereich angezeigt.'; 
    $scope.timesFocused = 0; 
    $scope.isFocused = false; 

    var ref = firebase.database().ref("matches"); 
    var matchList = $firebaseObject(ref); 

    matchList.$loaded().then(function() { 

     cfpLoadingBar.start(); 

     $scope.matchList = []; 

     angular.forEach(matchList, function (match) { 

      var matchTeams = []; 

      angular.forEach(match, function (team) { 
       matchTeams.push(team) 
      }); 

      $scope.focusEvent = function() { 
       $scope.timesFocused++; 
      }; 

      $scope.focusInput = function() { 
       $scope.isFocused = !$scope.isFocused; 
      }; 

      $scope.matchList.push(matchTeams); 
     }); 

     cfpLoadingBar.complete(); 

    }); 

}]); 

答えて

0

  • 最初に、長さがfirebaseから受け取ったデータ配列
  • 第二に、あなたはそれがパラメータ(ng-click="incrementInput(match.id)のようなもの )
  • として変数のIDや$インデックスを取り、関数内あなたが内部の値をインクリメントします すべての入力、上ng-click関数を宣言します配列 (例(arrayOfMatches[match.id] += 1
関連する問題