2017-07-07 9 views
1

私はAngular JSチェックボックス値のフィルタをどのように切り替えることができますか?

<input type="text" id="myInput" ng-model="search.SN" placeholder="Search for names.."> 
<div style="overflow-x:auto;"> 

    <table id="myTable"> 
    <tr style="border-bottom:1px solid black;" class="header"> 
     <td>ID</td> 
     <td>Nome Entidade</td> 
     <td>Ultima Localização</td> 
     <td>Categoria</td> 
     <td>Nº de Reclamações contra Entidade</td> 
     <td>Data da última reclamação</td> 
    </tr> 

    <tr ng-repeat="x in myData | filter: {emp_nome: search.SN} || filter: {local: search.SNs}" id="removal"> 
     <td>{{ x.id }}</td> 
     <td style="background:rgba(0, 159, 255, 0.24);font-size:17px;"><u>{{ x.emp_nome }}</u></td> 
     <td>{{ x.local }}</td> 
     <td>{{ x.tipo }}</td> 
     <td> 
     <center>{{ x.emp_rec }}</center> 
     </td> 
     <td> 
     <center>{{ x.data }}</center> 
     </td> 
    </tr> 

    </table> 

    <br><br> 

</div> 
、今私は、私はそれらのいずれかをチェックするとき、私は、のみがチェック値のための私の入力を検索することができます「ローカル」のための2つのチェックボックス「emp_nome」用と別のものを作成したい、このコードをしてください持っています
+0

あなたのスコープの値に依存するあなたのコントローラの機能にフィルタ機能を変更する.. – Alburkerk

答えて

0

フィルタ式を動的に作成し、コントローラで管理することができます。私はng-repeat="x in myData | filter: filterObject"

可能性がありng-repeat="x in myData | filter: {emp_nome: search.SN}"を意味するそして、あなたは一例

例のために(あなたの入力テキスト&チェックボックスで)NG-変化を利用して、あなたがフィルターに使用するオブジェクトを持つように、このfilterObjectを移入するために管理することができますNG-変更は次のようになります。

if (checkboxValue === 'local') { //local checked 
    $scope.filterObject = {local: $scope.search.SN}; 
} else if (checkboxValue === 'emp_nome') {//emp_nome checked 
    $scope.filterObject = {emp_nome: $scope.search.SN}; 
} else { //filter by all 
    $scope.filterObject = $scope.search.SN; 
} 

それは一例ですが、私はあなたが

公式ドキュメントのフィルタについて、それを管理する方法がわからない:https://docs.angularjs.org/api/ng/filter/filter

関連する問題