2016-04-12 4 views
0

Ich habe ein einfaches Angular-Programm, in dem die Span nur angezeigt werden muss, wenn der Eingabewert "Peter" ist. Ich hatte gehofft, dass, wenn ich den Eingabewert ändere, spanne verschwinden muss, aber wenn ich versuche, den Wert des Eingabefeldes zu ändern, erlaube ich es mir nicht. Was ist das Problem, aufgrund dessen ich den Eingabewert nicht ändern kann?ng-show auf der Basis von Modellwert eines anderen HTML-Elements

<html> 
<head> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js"></script> 
</head> 
<body ng-app="myApp" ng-controller="myCtrl"> 
    <input type="text" ng-model="name"/> 
    <span ng-show="name='peter'">{{name}}</span> 
    <script> 
    //module declaration 
    var app = angular.module('myApp', []); 
    //controller declaration 
    app.controller('myCtrl',function($scope){ 
     $scope.name = "Peter"; 

    }); 
    </script> 
</body> 
</html> 

Antwort

2

ändern ng-show zu

<span ng-show="name.toLowerCase()==='peter'">{{name}}</span> 

Sie verwenden Zuweisungsoperator, aber Sie müssen die Werte vergleichen und auch den Fall des Eingangswertes ändern.

<!DOCTYPE html> 
 
<html ng-app="myApp"> 
 
    <head> 
 
    <script data-require="[email protected]" data-semver="1.3.0-beta.5" src="https://code.angularjs.org/1.3.0-beta.5/angular.js"></script> 
 
    <script src="app.js"></script> 
 
</head> 
 
<body ng-app="myApp" ng-controller="myCtrl"> 
 
    <input type="text" ng-model="name"/> 
 
    <span ng-show="name.toLowerCase()==='peter'">{{name}}</span> 
 
    <script> 
 
    //module declaration 
 
    var app = angular.module('myApp', []); 
 
    //controller declaration 
 
    app.controller('myCtrl',function($scope){ 
 
     $scope.name = "Peter"; 
 

 
    }); 
 
    </script> 
 
</body> 
 

 
</html>

+0

ja gemacht Fehler sollte Operator verwendet haben den Vergleich "==" statt Zuweisungsoperator "=". Mein Fehler; ( – Deadpool

0

bereits.

<body ng-app="myApp" ng-controller="myCtrl"> 
    <input type="text" ng-model="name"> 
    <p ng-hide="name!== 'peter'">peter</p> 
    <p ng-show="name!== 'peter'"></p> 
    <script> 
    //module declaration 
    var app = angular.module('myApp', []); 
    //controller declaration 
    app.controller('myCtrl',function($scope){ 

}); 
</script> 

+0

Ha ha ... viel einfacher, aber das habe ich nicht gemeint. Das ist nur eine Umgehungslösung für echtes Konzept ... – Deadpool