From 3237f8b9950ab0dbf3c80f6bef40217ea7cf96ae Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Thu, 14 Jul 2011 13:54:34 -0700 Subject: fix(directive): ng:options to support ng:change Closes #463 --- src/widgets.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/widgets.js b/src/widgets.js index bdd68804..17a14741 100644 --- a/src/widgets.js +++ b/src/widgets.js @@ -674,6 +674,7 @@ angularWidget('select', function(element){ this.directives(true); var isMultiselect = element.attr('multiple'); var expression = element.attr('ng:options'); + var onChange = expressionCompile(element.attr('ng:change') || "").fnSelf; var match; if (!expression) { return inputWidgetSelector.call(this, element); @@ -729,7 +730,10 @@ angularWidget('select', function(element){ value = valueFn(tempScope); } } - if (!isUndefined(value)) model.set(value); + if (!isUndefined(value) && model.get() !== value) { + onChange(scope); + model.set(value); + } scope.$tryEval(function(){ scope.$root.$eval(); }); -- cgit v1.2.3