ngModelOptions for AngularJS 1.2
Directive to bring functionality similar to the new Angular 1.3 ngModelOptions to Angular 1.2, for those stuck supporting IE8 and/or legacy code.
Works well with all input types (text, number, date, radio, checkbox, select) and doesn't break Angular validation.
Include the module
Pass some options
Supports the same syntax as official ngModelOptions
Currently only supports the
select elements, the first blank dummy option is not removed when this directive is used. With IE8, the removal of this inital blank option when a valid option is selected never worked in Angular anyway, so it's best to add a disabled option
<option ng-disabled="true" value=""></option> to the
select element to solve both problems.
Some event listeners are turned off for elements to prevent automattic model updates. e.g. angular uses the
click event to update model for
checkbox. When using this directive,
ng-click will no longer work on
checkbox inputs. Similarly
ng-change will no longer work if using this directive on a
select element. To get around this use alternative events, e.g. on a
ng-change instead of
ng-click or just
$watch for changes on the model instead.