我在表格中有一个搜索过滤器,我给它选择了ng-model名称作为selectedGcode。我正在调用ng-click = viewAccount()以便在单击时调用该函数。但我在我的控制器中获取$ scope.selectedGcode为undefined。
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;
});
};
答案 0 :(得分:0)
你应该使用“ng-model”或“data-ng-model”,而不仅仅是“model =”selectedGcode“” 你可以使用ngKeyup而不是ngClick。因为只有当用户点击输入表单时才会触发ngClick,而不会在用户写入内容时触发。
答案 1 :(得分:0)
使用&#39; ng-model&#39;而不是&#39; model&#39; org.eclipse.wst.common.project.facet.core.xml
中的关键字来获取控制器中的值。
答案 2 :(得分:0)
如果您想在每次输入内容时触发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>