Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angularjs ngDisabled comparison expression not evaluating correctly

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';
});
like image 827
Simon McClive Avatar asked Jun 14 '14 20:06

Simon McClive


2 Answers

Remove the curlies around your ng-disabled attribute.

like image 128
pixelbits Avatar answered Nov 10 '22 03:11

pixelbits


Here's the way it worked for your plunk:

<input type="button" value="Continue" ng-disabled="startertext != inputfield">

Don't forget to remove the extra curlie in your controller (marked by an error sign when I opened it in the editor).

like image 44
Almaron Avatar answered Nov 10 '22 03:11

Almaron