Improve this Doc View Source

## Overview

Sets the `selected` attribute on the element, if the expression inside `ngSelected` is truthy.

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

Note: `ngSelected` does not interact with the `select` and `ngModel` directives, it only sets the `selected` attribute on the element. If you are using `ngModel` on the select, you should not use `ngSelected` on the options, as `ngModel` will set the select value and selected options.

## Directive Info

- This directive executes at priority level 100.

## Usage

- as attribute:

      <OPTION
        ng-selected="expression">
      ...
      </OPTION>

### Arguments

Param | Type | Details
--- | --- | ---
ngSelected | expression | If the expression is truthy, then special attribute "selected" will be set on the element

## Example

    <label>Check me to select: <input type="checkbox" ng-model="selected"></label><br/>
    <select aria-label="ngSelected demo">
      <option>Hello!</option>
      <option id="greet" ng-selected="selected">Greetings!</option>
    </select>

    it('should select Greetings!', function() {
      expect(element(by.id('greet')).getAttribute('selected')).toBeFalsy();
      element(by.model('selected')).click();
      expect(element(by.id('greet')).getAttribute('selected')).toBeTruthy();
    });