我有一個ASP.NET MVC web應用程序。我用AngularJS網格替換現有的表格控件(JQuery html編碼)。 我想通過jQuery點擊事件將id值傳遞給AngularJs應用程序。在點擊事件下面的代碼不工作。請建議正確的方式來傳遞值。使用angular.element不起作用。從Jquery事件傳遞值到AngularJS
$(".bs-example").on('click', '#alldiv a', function() {
var id = $(this).attr("id");
// This id is required to use in angular app
angular.element($("#my-table")).scope().getData();
});
var myApp = angular.module('myGrid', ['ngTable']);
myApp.controller('gridCtrl', ['$scope', '$http', 'services', 'NgTableParams', function (scope, http, ser, NgTableParams) {
ser.getData().success(function (response) {
scope.agendas = response;
scope.tableParams = new NgTableParams({ page: 1, count: 2 }, { dataset: scope.mydata });
});
scope.mydata = {
data: 'mydata'
}
}]);
myApp.service('services', function ($http) {
this.getData = function() {
// Need id from button jQuery click event
var result = $http.get('/Home/GetData/' + id);
return result;
};
});
<div data-ng-app="myGrid" data-ng-controller="gridCtrl" id="my-table">
//.....
</div
建立在你的控制器接受了'id'的方法 - 比方說,'loadGrid(ID)',然後傳遞相同的ID到'getData()'。然後將您的'angular.element'語句改爲'angular.element($(「#my-table」))scope()。loadGrid(id)' –