[英]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.