2015-02-09 67 views
1

我試圖顯示多個按鈕,觸發功能相同,但不同的parameters.But其ng-click功能不工作..解決:: NG-點擊不工作裏面NG-重複

這裏是我的看法:

<div class="row" ng-repeat="editPhone in studentDetail "> 

      <table class="table table-striped m-b-none"> 
       <tbody> 
       <tr> 
        <td>Signup Number</td> 
        <td><input type="text" ng-model="editPhone.phone_no"></td> 
        <td> 
         <button class="btn btn-sm btn-success btn-addon" ng-click="testJs(editPhone.studentid,'signup',editPhone.phone_no)"> 
         <i class="fa fa-save"></i>Save 
         </button> 
         <i id="signup" class="fa fa-spin fa-spinner hide"></i> 
        </td> 
       </tr> 
       <tr> 
        <td>Permanent</td> 
        <td><input type="text" ng-model="editPhone.per_tel"></td> 
        <td> 
         <button class="btn btn-sm btn-success btn-addon" ng-click="saveContactNumbers(editPhone.studentid,'permanent',editPhone.per_tel)"> 
          <i class="fa fa-save"></i>Save 
         </button> 
         <i id="permanent" class="fa fa-spin fa-spinner hide"></i> 
        </td> 

       </tr> 
       <tr> 
        <td>Communication</td> 
        <td><input type="text" ng-model="editPhone.comm_mobileno"></td> 
        <td> 
         <button class="btn btn-sm btn-success btn-addon" ng-click="saveContactNumbers(editPhone.studentid,'communication',editPhone.comm_mobileno)"> 
         <i class="fa fa-save"></i>Save 
         </button> 
         <i id="communication" class="fa fa-spin fa-spinner hide"></i> 
        </td> 

       </tr> 
       <tr> 
        <td>Prefered</td> 
        <td><input type="text" ng-model="editPhone.phone_preffered"></td> 
        <td> 

         <button class="btn btn-sm btn-success btn-addon" ng-click="saveContactNumbers(editPhone.studentid,'preferred',editPhone.phone_preffered)"> 
         <i class="fa fa-save"></i>Save 
         </button> 
         <i id="preferred" class="fa fa-spin fa-spinner hide"></i> 
        </td> 

       </tr> 

       </tbody> 
      </table> 


      </div> 

我所有與studentDetail綁定的數據都正確顯示,這意味着角度運行良好,但爲什麼ng-click不會觸發函數。

這裏是我的功能:

$scope.saveContactNumbers=function(studentid,typeChange,updatedNumber){ 
    console.log('saveContactNumbers'); 
} 

This是我完整的HTML和JS控制器代碼

修改:: 在我的整個代碼我無法開槍ng-click

任何控制器的功能

解決方案::這完全是我的錯,我在一些其他功能之前已經定義了我的功能。

+0

。在你的代碼中沒有任何可見的錯誤。 – Ved 2015-02-09 06:50:49

+0

是的,我相信但是,仍然是我ng-if,ng-click不起作用,其編碼 – ak1111 2015-02-09 06:52:51

+1

看起來像你的標記是正確的(http://jsfiddle.net/1qtxje0c/1/),再次顯示你的控制器代碼 – Dart 2015-02-09 07:15:50

回答

0

ng-repeat創建一個新的範圍。你必須引用您的保存方法是不同的:

<body ng-controller="MyPageCtrl as pageCtrl"> 
    <div class="row" ng-repeat="editPhone in studentDetail "> 
     <button class="btn btn-sm btn-success btn-addon" ng-click="pageCtrl.saveContactNumbers(editPhone.studentid,'permanent',editPhone.per_tel)"></button> 
    <div> 
</body> 

控制器:

(function() { 
    'use strict'; 

    angular 
     .module('app') 
     .controller('MyPageCtrl', MyPageCtrl); 

    MyPageCtrl.$inject = ['$window']; 

    function MyPageCtrl($window) { 
     /* jshint validthis:true */ 
     var vm = this; 

     vm.saveContactNumbers = function (studentId, type, telephone) { 
     //save student details 
     } 
    } 
})(); 
+0

它仍然不能正常工作,我再次更新我的問題與我更新的代碼。 – ak1111 2015-02-09 07:02:05

+0

@ ak1111檢查你的控制檯是否拋出任何錯誤 – 2015-02-09 07:08:33

+0

沒有錯誤,我甚至沒有任何錯誤,如果我用任何未定義的函數名稱替換我的saveContactNumbers函數 – ak1111 2015-02-09 07:21:50

0

請傳遞參數作爲一個字符串

<button class="btn btn-sm btn-success btn-addon" ng-click="saveContactNumbers('editPhone.studentid','permanent','editPhone.per_tel')"> 
+0

不工作,現在我相信那裏將是一個小錯誤,我正在做,我分享我的代碼 – ak1111 2015-02-09 07:31:34

+0

我已更新我的問題與完整的代碼在小提琴 – ak1111 2015-02-09 07:36:07