diff options
Diffstat (limited to 'plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js')
-rw-r--r-- | plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js b/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js index 30d73fee7c..00fe79523f 100644 --- a/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js +++ b/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js @@ -274,11 +274,16 @@ field.defaultValue = defaultValue.join(','); } + // convert boolean values since angular 1.6 uses strict equals when determining if a model value + // matches the ng-value of an input. if (field.type === 'boolean') { - if (field.value && field.value > 0 && field.value !== '0') { - field.value = true; - } else { - field.value = false; + var valueIsTruthy = field.value && field.value > 0 && field.value !== '0'; + + // for checkboxes, the value MUST be either true or faluse + if (field.uiControl === 'checkbox') { + field.value = valueIsTruthy; + } else if (field.uiControl === 'radio') { + field.value = valueIsTruthy ? '1' : '0'; } } |