diff options
Diffstat (limited to 'src/widgets.js')
| -rw-r--r-- | src/widgets.js | 6 | 
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();          });  | 
