簡體   English   中英

行點擊時無法傳遞數據

[英]Unable to pass data on row click

我在下面的代碼中做錯什么? 我沒有收到任何錯誤,也沒有得到結果。 1.出現警報。 2.我嘗試對ceid值進行加固,使該值si不會傳遞給EVerifyModuleI9Service內部的函數。 例如:我對EVerifyModuleI9Service.getEmployeeInformation(53)進行了硬編碼,但始終將0發送給該函數。

注意:LoadViewSelected用於加載視圖,該視圖以視圖的url和js文件為參數。

HTML(ListEverify.cshtml):

<div ng-app="EVerifyModule">
  <div class="row" ng-controller="EVerifyController as ECtrl">
    <table class="table table-bordered table-striped table-hover table-condensed">
      <thead>
        <tr>
          <th ng-click="sortdata('name')"> Employee Name
            <span class="glyphicon sort-icon"></span>
          </th>
          <th ng-click="sortdata('dateHire')">
            Hire Date
            <span class="glyphicon sort-icon"></span>
          </th>
          <th ng-click="sortdata('phoneNumber')">
            Phone Number
            <span class="glyphicon sort-icon"></span>
          </th>
          <th>
            E-Verify
            <span class="glyphicon sort-icon"></span>
          </th>
        </tr>
      </thead>
      <tbody>
        <tr ng-repeat="emp in Employees" ng-click="storeIds(emp)">
          <td>{{emp.name}}</td>
          <td>{{emp.dateHire | date:'MM-dd-yyyy'}}</td>
          <td>{{emp.phoneNumber}}</td>
          <td><a class="btn-sm btn-primary pull-right" href="javascript:void(0)" onclick="LoadViewSelected('/EVerify/EVerify/EVerifySubmit', 'EVerifyModule');">E-Verify</a></td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

EVerifyModel.js

var EVerifyModule = angular.module('EVerifyModule', ['angularFileUpload', 'ui.bootstrap', 'angularUtils.directives.dirPagination']);
EVerifyModule.factory('EVerifyModuleService', ['$http', '$window', function($http, $window) {
  return {
    GetEmployeeList: function(companyId) {
      return $http({
        url: '/api/EVerify/GetEmployeeList',
        method: 'POST',
        data: companyId
      });
    }
  };
}]);

EVerifyModule.factory('EVerifyModuleI9Service', ['$http', function($http) {

  return {
    getEmployeeInformation: function(id) {
      return $http({
        url: '/api/EVerify/GetEmployeeInfo',
        method: 'GET',
        params: {
          Id: id
        }
        // data: id
      });
    }
  };

}]);

EVerifyModule.service('DataToPersistService', function(param) {
  ceId = param;
});

EVerifyModule.controller('EVerifyController', ['$scope', '$http', '$compile', 'EVerifyModuleService', '$timeout', function($scope, $http, $compile, EVerifyModuleService, $timeout) {
  $scope.storeIds = function(emp) {
    alert(emp.id);
    alert(emp.name);
    DataToPersistService.function(emp.id);
  }

  EVerifyModuleService.GetEmployeeList(61).then(function(response) {
    $scope.Employees = response.data.Employees;
  });
}]);

EVerifyModule.controller('EVerifyI9Controller', ['$scope', '$http', '$compile', 'EVerifyModuleI9Service', function($scope, $http, $compile, EVerifyModuleI9Service) {
  EVerifyModuleI9Service.getEmployeeInformation(ceId).then(function(response) {
    if (response != null) {

      $scope.employeeInfo = response.data.EmployeeInfo;
    }
  });
}]);
<a class="btn-sm btn-primary pull-right" href="javascript:void(0)"  onclick="LoadViewSelected('/EVerify/EVerify/EVerifySubmit', 'EVerifyModule');">E-Verify</a>

為簡單起見,將錨標記替換為button,然后用ng-click事件替換onclick,並確保您已將LoadViewSelected函數附加到您的$ scope上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM