2017-08-31 119 views
0

目前我有一個對象(隊)的列表,我用ng-repeat(在matchList中匹配)顯示它們。所以這是8支球隊和28場比賽。現在,我在每個想要通過單擊輸入字段輸入結果的團隊旁邊都有一個輸入字段。那時我檢查輸入字段是否被聚焦(ng-focus & ng-blur)。如何在輸入字段聚焦時獲取特定對象?

我的問題是,我需要從對象teamname在我的console.log下一個步驟上下工夫...

我怎麼能做到呢?

這是我的控制器:

app.controller('gametableController', ['currentAuth', '$scope', '$location', '$firebaseObject', '$firebaseArray', '$http', 'cfpLoadingBar', function (currentAuth, $scope, $location, $firebaseObject, $firebaseArray, $http, cfpLoadingBar) { 

    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.focus = function() { 
       console.log('focussed'); 
      }; 
      $scope.blur = function() { 
       console.log('not focussed') 
      }; 

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

     console.log(matchList); 

     cfpLoadingBar.complete(); 

    }); 

}]); 

這是我的HTML:

<div class="container mrgn-bottom"> 
     <div class="row" ng-repeat="match in matchList"> 
      <div class="col-md-12 mrgn"> 

       <div class="match"> 

        <div class="col-md-3 card-plan card-wrp"> 

         <div class="col-md-3 player-team-logo"><img ng-src="{{match[1]}}" width="60" height="60" class="table-team-logo"></div> 

         <div class="col-md-9"> 
          <div class="col-md-12 player-team-info info-team"><b>{{match[0]}}</b></div> 
          <div class="col-md-12 player-team-info info-user">{{match[3]}}</div> 
          <div class="col-md-12 player-team-info info-user">Siege: {{match[4]}}</div> 
         </div> 
        </div> 

        <div class="col-md-1 result-input-wrp card-plan-result"> 
         <div class="quantity"> 
          <input type="tel" ng-model="model" ng-focus="focus()" ng-blur="blur()" maxlength="2" min="1" max="9" step="1" ng-value="'{{ match[2] }}'" title="result"> 
         </div> 
        </div> 

        <div class="col-md-4"> 
         <div class="versus-text"><b>{{ versus }}</b></div> 
        </div> 

        <div class="col-md-1 result-input-wrp card-plan-result"> 
         <div class="quantity"> 
          <input type="tel" ng-model="model" ng-focus="focus()" ng-blur="blur()" maxlength="2" min="1" max="9" step="1" ng-value="'{{ match[9] }}'" title="result"> 
         </div> 
        </div> 

        <div class="col-md-3 card-plan card-wrp"> 

         <div class="col-md-3 player-team-logo"><img ng-src="{{match[6]}}" width="60" height="60" class="table-team-logo"></div> 

         <div class="col-md-9 "> 
          <div class="col-md-12 player-team-info info-team"><b>{{match[5]}}</b></div> 
          <div class="col-md-12 player-team-info info-user">{{match[8]}}</div> 
          <div class="col-md-12 player-team-info info-user">Siege: {{match[7]}}</div> 
         </div> 
        </div> 

       </div> 
      </div> 
     </div> 
    </div> 
+0

請不要使用角標記角1.xx相關questions.Its具體到角2.x以上。 –

+0

@VikhyathMaiya好的,謝謝你的提示;) – jglom

回答

0

我不太明白你的最終目標,但也許您正在尋找這樣的:

<!-- pass your element into focus() handler.--> 
<div class="col-md-1 result-input-wrp card-plan-result"> 
    <div class="quantity"> 
     <input type="tel" ng-model="model" ng-focus="focus(match[9])" ng-blur="blur()" maxlength="2" min="1" max="9" step="1" ng-value="'{{ match[9] }}'" title="result"> 
    </div> 
</div> 
// and in scope 
$scope.focus = function (matchedElement) { 
    console.log('focused', matchedElement); 
}; 

快速更新基於意見

它,因爲它們都使用相同的NG-模型=「模式」 給他們一個不同的名稱...

e.g ng-model="team_1" and ng-model="team_2". 

另外請注意,這兩個NG-模型和NG - 值設置和修改輸入的值

+0

這就是它!謝謝,它幾乎工作。我現在唯一的問題是當我用一個數字填充輸入時,對面的團隊獲得相同的值。例如:Team1(輸入)VS Team2(輸入)....我用1填充Team1輸入,Team2輸入也輸入1。 – jglom

+0

更新後職位 –

+0

當然.....感謝:D – jglom

相關問題