2017-11-02 13 views
-4
  1. 안녕하세요 대문자/소문자와 관계없이 두 문자열을 비교해야합니다. 나는 (vm.partner.name) 및 (vm.partners.name) 두 개의 문자열을 확인 할 각도 j를 사용하여 소문자와 대문자에 관계없이 두 문자열을 비교하는 방법

     <tr ng-repeat="x in vm.partners"> 
          <td ng-if = "'vm.partner.name' === 'vm.partners.name'" 
           colspan="2">{{ x.name }}</td> 
          <td ng-if = "'vm.partner.name' === 'vm.partners.name'" 
           colspan="2">{{ x.contact.city.name }}</td> 
         </tr> 
    
  2. 은과 패턴 동일합니다.

  3. 정규식 패턴을 유지하고 싶습니다. 어떻게하는지 알려주세요.
+1

당신 수 단지와 toLowerCase() 그들 – danielspaniol

+0

내가 rOhit === Rohit 같은 모든 조합이 필요 없음.하지 그것은 사실이어야합니다. –

+2

'rOhit'.toLowerCase() === 'Rohit'.toLowerCase() – danielspaniol

답변

0

의견에서 언급했듯이 두 변수 모두에 대해 LowCase를 사용하여 필터 나 필요한 사항을 확인할 수 있습니다.

<td ng-if = "vm.partner.name.toLowerCase()== vm.partners.name.toLowerCase()"> 

참고 : 코드에서 취한 것처럼 vm.partner.name을 문자열로 사용하지 마십시오.

0
  1. vertika와 같이 toLowerCase()을 사용하십시오.
  2. ng 코드를 html로 유지하려면 컨트롤러에서 기능을 만드십시오.
  3. 각 셀 표시/숨기기 대신 전체 행 표시/숨기기.

<table ng-app="myApp" ng-controller="HomeCtrl as vm"> 
 
    <tr ng-repeat="partner in vm.partners" ng-show="vm.isPartner(partner.name)"> 
 
    <td>{{partner.name}}</td> 
 
    <td>{{partner.city}}</td> 
 
    </tr> 
 
</table> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<script> 
 
angular.module('myApp', []) 
 
.controller('HomeCtrl', function() { 
 
    let vm = this; 
 
    vm.partners = [ 
 
    { 
 
     name: 'John', 
 
     city: 'Los Angeles', 
 
    }, 
 
    { 
 
     name: 'Jim', 
 
     city: 'Las Vegas', 
 
    }, 
 
    { 
 
     name: 'Joe', 
 
     city: 'Dallas', 
 
    }, 
 
    ]; 
 
    
 
    vm.partner = { 
 
    name: 'jim', 
 
    }; 
 
    
 
    vm.isPartner = function(name) { 
 
    return vm.partner.name.toLowerCase() === name.toLowerCase(); 
 
    }; 
 
}); 
 
</script>