2016-03-23 13 views
-2

私はMySQLデータベースを持っていて、それをAngularJSで検索します。この入力に4文字以上の文字を印刷する場合のみ検索する方法は?入力に4文字を入力してAngularJSを検索するには

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; 
     }); 
    }  
}); 

答えて

1

私は、これは重複して質問です確信しているが、解決策は、単にNG-MINLENGTH属性を追加することです。これとして使用される:

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

これは、あなたが望むものを達成するはずです。

+0

はい、動作します。しかし、私は別の問題を抱えている、私は入力を変更するとすべての結果が表示されます。 4文字を入力する前にどのように結果を表示しないようにするには? –

+0

入力に4文字以上の文字が入力されるまで結果テーブルを表示しないことを意味しますか?あなたはng-hideでそれを行うことができます。 'ng-hide =" search.length <4 "'または、結果を持つあなたのテーブルやdivのものと似たものです。 –

関連する問題