Ionic, Angular получить значение типа ввода для события нажатия клавиши

0

Я пытаюсь вызвать событие во время нажатия клавиши в одном из полей ввода, но не уверен, как передать значение поля ввода.

Вот как я это делаю и получаю undefined в конце.

controller.js

$scope.bySearch = function(descr){
  var xhr = $http({
    method: 'post',
    url: 'http://mywebsite.com/api/lists.php?descr='+descr
  });
 xhr.success(function(data){
    $scope.data = data.data;
  });
  $ionicScrollDelegate.scrollTop();
  console.log(descr);
}

sample.html

<label class="item item-input">
     <i class="icon ion-search placeholder-icon"></i>
     <input type="text" ng-model="dash.search" placeholder="Search" ng-keypress="bySearch(dash.search)">
</label>

Каков правильный способ передачи данных в угловой?

Теги:
ionic-framework

1 ответ

1
Лучший ответ

sample.html

<div ng-controller="SearchCtrl">
  <label class="item item-input">
     <i class="icon ion-search placeholder-icon"></i>
     <input type="text" ng-model="dash.search" placeholder="Search" ng-change="bySearch(dash.search)">
</label>
</div>

controller.js

var routerApp = angular.module('routerApp', ['ui.router', 'ngRoute']);
routerApp.controller('SearchCtrl', function($scope, $http) {

    $scope.bySearch = function(descr){
        alert("Inside bySearch--"+descr);
          var xhr = $http({
            method: 'post',
            url: 'http://mywebsite.com/api/lists.php?descr='+descr
          });
         xhr.success(function(data){
            $scope.data = data.data;
          });
          $ionicScrollDelegate.scrollTop();
          console.log(descr);
        }

});

Это приведет к срабатыванию функцииSearch() для каждого нажатия клавиши.

ng-keypress происходит при нажатии клавиши и до того, как значение заполняет вход. Вот почему вы не получаете никакой ценности при первом нажатии клавиши, но при последующих нажатиях вы получите значение.

Вы также можете использовать ng-keyup

<input type="text" ng-model="dash.search" placeholder="Search" ng-keyup="bySearch(dash.search)">

Ещё вопросы

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