Sets the readonly
attribute on the element, if the expression inside ngReadonly
is truthy.
Note that readonly
applies only to input
elements with specific types. See the input docs on
MDN for more information.
A special directive is necessary because we cannot use interpolation inside the readonly
attribute. See the interpolation guide for more info.
<INPUT
ng-readonly="expression">
...
</INPUT>
Param | Type | Details |
---|---|---|
ngReadonly | expression |
If the expression is truthy, then special attribute "readonly" will be set on the element |
<label>Check me to make text readonly: <input type="checkbox" ng-model="checked"></label><br/>
<input type="text" ng-readonly="checked" value="I'm AngularJS" aria-label="Readonly field" />
it('should toggle readonly attr', function() {
expect(element(by.css('[type="text"]')).getAttribute('readonly')).toBeFalsy();
element(by.model('checked')).click();
expect(element(by.css('[type="text"]')).getAttribute('readonly')).toBeTruthy();
});