From a3d4e568eaa67d32e286a6c8a3c799aa4137fb1f Mon Sep 17 00:00:00 2001 From: Djamil Legato Date: Fri, 31 Jul 2015 13:43:26 -0700 Subject: [PATCH] Fixed toggleable toggles as weird as it reads :) --- themes/grav/js/forms/fields/toggle.js | 9 ++++++--- themes/grav/js/forms/form.js | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/themes/grav/js/forms/fields/toggle.js b/themes/grav/js/forms/fields/toggle.js index d0d391a7..0a5726e8 100644 --- a/themes/grav/js/forms/fields/toggle.js +++ b/themes/grav/js/forms/fields/toggle.js @@ -6,6 +6,9 @@ var ToggleField = function (el, form) { el = $(el); this.el = el.is('[' + form.fieldIndicator + ']') ? el : el.closest('[' + form.fieldIndicator + ']'); + + this._disabled = this.el.data('grav-disabled') || false; + this._default = this.el.data('grav-default') || ''; }; ToggleField.getName = function () { @@ -26,11 +29,11 @@ ToggleField.prototype.name = function(name) { if (name) { - this.el.find('input').attr('name', name); + this.el.data('grav-field-name', name); return name; } - return this.el.find('input').attr('name'); + return this.el.data('grav-field-name') }; ToggleField.prototype.value = function(val) { @@ -43,7 +46,7 @@ }; ToggleField.prototype.reset = function() { - this.value(''); + this.value(this._default); }; ToggleField.prototype.formValues = function() { diff --git a/themes/grav/js/forms/form.js b/themes/grav/js/forms/form.js index 077a7ee6..d87965d6 100644 --- a/themes/grav/js/forms/form.js +++ b/themes/grav/js/forms/form.js @@ -73,7 +73,7 @@ } }); - var on = toggleable.is(':checked'); + var on = toggleable.find('input').is(':checked'); toggleable.siblings('label').css('opacity', on ? 1 : 0.7); element.disabled(!on); if (!on) {