Improve this Doc View Source

## Overview

This directive sets the `disabled` attribute on the element (typically a form control, e.g. `input`, `button`, `select` etc.) if the expression inside `ngDisabled` evaluates to truthy.

A special directive is necessary because we cannot use interpolation inside the `disabled` attribute. See the interpolation guide for more info.

## Directive Info

- This directive executes at priority level 100.

## Usage

- as attribute:

      <INPUT
        ng-disabled="expression">
      ...
      </INPUT>

### Arguments

Param | Type | Details
--- | --- | ---
ngDisabled | expression | If the expression is truthy, then the `disabled` attribute will be set on the element

## Example

    <label>Click me to toggle: <input type="checkbox" ng-model="checked"></label><br/>
    <button ng-model="button" ng-disabled="checked">Button</button>

    it('should toggle button', function() {
      expect(element(by.css('button')).getAttribute('disabled')).toBeFalsy();
      element(by.model('checked')).click();
      expect(element(by.css('button')).getAttribute('disabled')).toBeTruthy();
    });