aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/widgets.js6
1 files changed, 5 insertions, 1 deletions
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();
});