У меня есть фильтр поиска в таблице, и я дал ng-model name как selectedGcode для него. Я вызываю ng-click = viewAccount() inorder для вызова функции при нажатии. Но я получаю $ scope.selectedGcode в моем контроллере как неопределенный.
HTML:
<table class="table table-striped">
<thead>
<tr class="myheading">
<th class="col-sm-2"> Code
</th>
<th class="col-sm-2">Name
</th>
</tr>
<tr>
<th class="col-sm-2" >
<input type="text" class="form-control" ng-model="selectedGcode" placeholder="Search" ng-click="viewAccount()" /></th>
<th class="col-sm-2" >
<input type="text" class="form-control" /></th>
<tr>
<tbody>
<tr data-ng-repeat="data in tableData">
<td class ="stylethecontent" >{{ data.groupzcode}}</td>
<td class ="stylethecontent" >{{data.groupzname}}</td>
</tr>
</tbody>
</table>
JS:
$scope.viewAccount = function(){
var json = {
"json": {
"request": {
"servicetype": "6",
"functiontype": "6014",
"session_id": $rootScope.currentSession,
"data": {
"shortname": $scope.selectShortName,
"groupzcode":$scope.selectedGcode
}
}
}
};
UserService.viewListAccount(json).then(function(response) {
console.log(json);
if (response.json.response.statuscode == 0 && response.json.response.statusmessage == 'Success')
$scope.tableData = response.json.response.data;
});
};
Если вы хотите запускать viewAccount() каждый раз, когда что-то вводится, вы должны использовать ng-change.
<input type="text" class="form-control" ng-model="selectedGcode" placeholder="Search" ng-change="viewAccount()" /></th>
Если вы хотите запускать функцию viewAccount() специально при нажатии, вы должны использовать кнопку вместо этого.
<input type="text" class="form-control" ng-model="selectedGcode" placeholder="Search"/></th>
<button type="button" class="btn btn-default" ng-click="viewAccount()"></button>
Вы должны использовать "ng-model" или "data-ng-model", а не только "model =" selectedGcode "" И вы можете использовать ngKeyup вместо ngClick. Поскольку ngClick будет запускаться только тогда, когда пользователь нажимает на форму ввода, а не когда он что-то напишет.
Используйте 'ng-model' вместо ключевого слова 'model' в <input>
чтобы получить значение в контроллере.