2017-06-12 14 views
1

下面的方法是我的代碼:通表數據成角

<body ng-app="intranet_App" ng-controller="myCtrl"> 
    <div class="container"> 
     <div class="modal" id="deleteProject"> 
      <div class="modal-dialog"> 
       <div class="modal-content"> 
        <div class="modal-body" id="confirmMessage"> 
        Are you sure do you want to delete this project?? 
        </div> 
        <div class="modal-footer"> 
         <button type="button" class="btn btn-default" id="confirmOk" ng-click="deleteProject(x.Id)">Ok</button> 
         <button type="button" class="btn btn-default" id="confirmCancel" data-dismiss="modal">Cancel</button> 
        </div> 
       </div> 
      </div> 
     </div> 
      <div class="col-xs-12 margin20 padding table-responsive"> 
       <table class="col-xs-12 table table-hover table-bordered" id="projectList"> 
        <thead class="colorBlue"> 
         <tr><th>Project Name</th><th>Client</th><th>Client Co-ordinator</th><th>Action</th></tr> 
        </thead> 
        <tbody id="projectListTBody" > 
         <tr ng-repeat="x in projectList | filter:ProjectName"> 
          <td>{{ x.ProjectName}}</td> 
          <td>{{ x.Client}}</td> 
          <td>{{ x.OnsiteCoordinator}}</td> 
          <td> 
           <i class="fa fa-user-plus fa-2x" ng-click="addResource()"></i> 
           <i class="fa fa-edit fa-2x" ng-click="editProj(x.Id)"></i> 
           <i class="fa fa-trash fa-2x" data-toggle="modal" data-target="#deleteProject"></i> 
          </td> 
         </tr> 
        </tbody> 
       </table> 
      </div> 
    </div> 
</body> 

<script> 
    var app = angular 
        .module("intranet_App", []) 
        .controller("myCtrl", function ($scope, $http) { 
         $scope.projDetails = []; 

         $http.post('/Project/getProjectsList') 
          .then(function (response) { 
           console.log(response) 
           $scope.projectList = response.data; 
          }) 
         $scope.deleteProject = function (id) { 
          alert(id) 
         } 

        }); 
</script> 

在這裏,當我點擊一張桌子delete圖標,我展示的是莫代爾我需要傳遞x.Id裏面有一個自舉彈出modal.In deleteProject上的方法就點擊了ok按鈕。但是我無法打到該方法,該如何通過呢?

回答

1

在HTML代碼,添加NG單擊刪除按鈕

<i class="fa fa-trash fa-2x" data-toggle="modal" data-target="#deleteProject" ng-click="delete(x.id)"></i> 

在控制器添加下面的方法

$scope.delete = function (id) { 
    $scope.deleteId = id; 
} 

使用in deleteProject method

$scope.deleteProject = function() { 
    //use $scope.deleteId here 
    alert($scope.deleteId); 
} 
+0

可以請你給這個問題提出任何建議https://stackoverflow.com/questions/44491736/convert -object到JSON合角/ 44491870?noredirect = 1#comment75978943_44491870 – user7397787

0

您正試圖訪問ng-repeat之外的x變量,因此自然地,它不會知道x是什麼。這就是你得到undefined的原因。

這裏是最快的解決方案,我能想出,應該有更好的辦法,但:

<i class="fa fa-trash fa-2x" 
    data-toggle="modal" 
    data-target="#deleteProject" 
    ng-click="current = x"></i> 

這將分配最後點擊xcurrent。然後,你應該參考current模態中:

<button type="button" 
     class="btn btn-default" 
     id="confirmOk" 
     ng-click="deleteProject(current.Id)"> 
    Ok 
</button> 
+0

我還只是'undefined' – user7397787

+3

可以在控制器中聲明$ scope.current = {},我認爲它會起作用 – 2017-06-12 13:56:43