У меня есть фильтр поиска в таблице, и я дал для него имя ng-модели как 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
Nicoleta Wilskon 7 Сен 2016 в 13:55

3 ответа

Лучший ответ

Вы должны использовать «ng-model» или «data-ng-model», а не просто «model =« selectedGcode »« И вы можете использовать ngKeyup вместо ngClick. Потому что ngClick будет запускаться только тогда, когда пользователь щелкнет форму ввода, а не когда он что-то напишет.

0
Robert Sandu 7 Сен 2016 в 11:05

Используйте 'ng-model' вместо ключевого слова 'model' в <input>, чтобы получить значение в контроллере.

0
Mr Lister 15 Сен 2016 в 17:42