So I have an html page that should dynamically make table data appear using AngularJS and smart-table. This a quick summary of what it looks like:
<body ng-app="startApp">
<div ng-controller="employeeCtrl">
<tbody>
<tr>
<td>
<input type="text" id="FirstName" size="10" onkeyup="searchEmp()" /></td>
</td>
</tr>
...
<div ng-controller="employeeCtrl">
<table st-table="employeesCollection" st-safe-src="employeesCollection" class="table table-striped">
<tbody>
<tr ng-repeat="employee in employeesCollection">
<td>{{employee.first}}</td>
</tr>
</tbody>
...
And I have AngularJS code that does a simple $http get request and return a dataset.
var app = angular.module('startApp', ['smart-table']);
app.controller('employeeCtrl', ['$scope', '$http',
function ($scope, $http) {
var first = document.getElementById("FirstName").value;
var last = document.getElementById("LastName").value;
var ex = document.getElementById("Extension").value;
var store = document.getElementById("store");
var st = store.options[store.selectedIndex].value;
var number = document.getElementById("storeNo");
var num = number.options[number.selectedIndex].value;
$scope.searchEmp = function () {
$http({
method: 'GET',
url: 'getEmployees.aspx',
params: { f: first, q: last, e: ex, s: st, n: num }
}).then(function (response) { $scope.employeesCollection = response.data });
};
}]);
For some reason no matter how I define the function searchEmp whether be like above or like function searchEmp() {...} it is always undefined. I don't know what I'm doing wrong. It looks like every other function I've ever made in AngularJS but it won't work.
The exact error I'm getting is this:
Uncaught ReferenceError: searchEmp is not defined
onkeyup @ Startup.aspx.83
onkeyupwhen you have Angular? Have you tried usingngKeypress?