【问题标题】:How to search in AngularJS after typing 4 chars in input在输入中输入 4 个字符后如何在 AngularJS 中进行搜索
【发布时间】:2016-03-23 20:41:58
【问题描述】:

我有一个MySQL 数据库,我使用AngularJS 在其中搜索。仅当我在此输入中打印 4 个或更多字符时如何搜索?

HTML 代码:

<div class="search">
  <form action="" method="post" class="searchform" >
    <input type="search" name="" placeholder="Search" class="inputsearchform" ng-model="search"/>
    <input type="submit" name="" value="" class="submitsearchform" />
  </form>
</div>
<div class="songlist" >
  <table id="songlistTableR" ng-controller='main_control'>   
    <tr><th>Name</th><th>Link</th></tr>    
    <tr class="rowR" ng-repeat="data in loaded | filter:{song_name: search}">
      <td><i class="fa fa-plus"></i>{{data.song_name}}</td>
      <td><a href="{{data.link}}" target='_blank'>Youtube</a></td>     
    </tr>
  </table>      
</div>

JS代码:

var app = angular.module('test_table', []);
app.controller('main_control',function($scope, $http){
    load();
    function load(){
        $http.get("http://localhost:7001/load").success(function(data){
            $scope.loaded=data; 
        });
    }       
});

【问题讨论】:

    标签: javascript html mysql angularjs


    【解决方案1】:

    我确定这是一个重复的问题,但解决方案是添加 ng-minlength 属性。用作:

    <input type="search" name="" placeholder="Search" class="inputsearchform" ng-model="search" ng-minlength="4"/>
    

    这应该可以实现您想要的。

    【讨论】:

    • 是的,它有效。但是我还有另一个问题,如果我更改输入,所有结果都会出现。在我输入 4 个字符之前如何让 Angular 不显示结果?
    • 您的意思是在输入中有 >4 个字符之前根本不显示结果表?你可以用 ng-hide 做到这一点。 ng-hide="search.length &lt;4" 或类似于您的表或 div 上的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    • 2014-05-15
    • 1970-01-01
    相关资源
    最近更新 更多