2017-07-07 61 views
1

我有這樣的代碼,現在我要創建兩個複選框一個「emp_nome」,另一個是「本地」當我檢查其中任何我可以搜索我的輸入只對那些檢查值,幫助,請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> 
+0

將過濾器功能更改爲控制器的功能,這取決於您的範圍值。 – Alburkerk

回答

0

您可以動態地創建過濾器表達式並在您的控制器中進行管理。我的意思是ng-repeat="x in myData | filter: {emp_nome: search.SN}"可能是ng-repeat="x in myData | filter: filterObject"

而且你可以設法填充這個filterObject有你想要的過濾器,使用對象,使用NG-變化(在輸入文本&複選框),例如

例子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