繁体   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