使用ng-submit上的ng-model通过输入过滤ng-repeat

use*_*271 1 angularjs

我相信这也不难,但如果有人能帮助我的话.

这是一个plnkr

<form ng-submit="submit()">
  <input ng-model="query">
  <button type="submit" id="submit" value="Submit" >Search</button>
</form>


<div ng-repeat="x in friends | filter:query">
  {{x.name}}
</div>
Run Code Online (Sandbox Code Playgroud)

我想过滤搜索提交而不是动态输入我猜它可以用ng-click或ng-submit完成.只是在一个很好的方式之后.

A.B*_*A.B 6

试试这段代码,请参阅下面的输出.

首先,你需要通过变量来设置范围和过滤器的另一个变量,在提交()使"查询"模式的值等于"Q"的范围变量,这将相应地过滤它作为过滤条件是"Q"现在

var app = angular.module('myapp', []);

app.controller('MainCtrl', function($scope) {
    $scope.q="";
    
    $scope.submit=function(){
      $scope.q= $scope.query
    }
    $scope.friends = [
    {
        id: 1,
        name: "Sarah"
    },
    {
        id: 2,
        name: "Joanna"
    },
    {
        id: 3,
        name: "Heather"
    },
    {
        id: 4,
        name: "Kim"
    }
    ];
    

});
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html ng-app="myapp">

<head>
  <meta charset="utf-8" />
  <title>AngularJS Plunker</title>
  <script>
    document.write('<base href="' + document.location + '" />');
  </script>
  <link rel="stylesheet" href="style.css" />
  <script data-require="angular.js@1.2.x" src="http://code.angularjs.org/1.2.7/angular.js" data-semver="1.2.7"></script>
  <script src="app.js"></script>
</head>

<body ng-controller="MainCtrl">

  <form ng-submit="submit()">
    <input ng-model="query">
    <button type="submit" id="submit" value="Submit">Search</button>
  </form>


  <div ng-repeat="x in friends | filter:q">
    {{x.name}}
  </div>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)