Использование моделирования в поисковом фильтре

0

У меня есть фильтр поиска в таблице, и я дал 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;



        }); 
    };
  • 0
    я не нахожу где-либо вы используете selectedGcode в контроллере
  • 0
    Привет, пожалуйста, проверьте запрос. Отредактировано несколько минут назад.
Теги:

3 ответа

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>
0

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

  • 0
    Извините, я использовал только ng-модель. При редактировании пропустил это.
  • 0
    Тогда проблема в том, что вы используете ngClick, который будет запущен только один раз, когда вы впервые нажмете на вход. Итак, как я сказал ранее, вам лучше использовать ngKeyup, чтобы вызывать функцию каждый раз, когда пользователь пишет новое письмо. Или вы можете использовать ngChange с debounce, см. Здесь stackoverflow.com/questions/22158063/…
Показать ещё 1 комментарий
0

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

  • 0
    Извините, я использовал только ng-модель. При редактировании пропустил это.
  • 0
    Использование таких событий, как ng-change, кроме ng-click, решит проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню