Angularjs ngDisabled comparison expression not evaluating correctly

Simon McClive picture Simon McClive · Jun 14, 2014 · Viewed 20.7k times · Source

I am attempting to have a button be enabled or disabled in an angularjs app based on whether a comparison of two text fields evaluates to true or false. I have provided example code below and also made it available in a plunker here http://plnkr.co/edit/rzly8hy21048YGzsx2gW?p=preview

As you can see when you input a string to match the stored string the expression evaluates correctly however the button never becomes available.

Any help would be appreciated.

Here is the HTML

    <!DOCTYPE html>
<html ng-app="plunker">

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link rel="stylesheet" href="style.css" />
    <script data-require="[email protected]" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js" data-semver="1.2.16"></script>
    <script src="app.js"></script>
  </head>

  <body ng-controller="MainCtrl">
    <button ng-click="updateCounter()">Increment count</button>
    <input type="text" ng-model="inputfield">
    <input type="button" value="Continue" ng-disabled="{{inputfield !== startertext}}">
    <br>startertext: {{startertext}}
    <br>nputfield: {{inputfield}}
    <br>test: {{inputfield !== startertext}}

  </body>


</html>

And the Javascript file is below.

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.startertext = 'hello world';
});

Answer

pixelbits picture pixelbits · Jun 14, 2014

Remove the curlies around your ng-disabled attribute.