diff --git a/core/includes/form.inc b/core/includes/form.inc index 052c9ce87a..939f0d1c2c 100644 --- a/core/includes/form.inc +++ b/core/includes/form.inc @@ -273,7 +273,6 @@ function template_preprocess_details(&$variables) { */ function template_preprocess_radios(&$variables) { $element = $variables['element']; - $variables['attributes'] = []; if (isset($element['#id'])) { $variables['attributes']['id'] = $element['#id']; } @@ -295,7 +294,6 @@ function template_preprocess_radios(&$variables) { */ function template_preprocess_checkboxes(&$variables) { $element = $variables['element']; - $variables['attributes'] = []; if (isset($element['#id'])) { $variables['attributes']['id'] = $element['#id']; } diff --git a/core/misc/states.es6.js b/core/misc/states.es6.js index b47b90de57..3d5614afa5 100644 --- a/core/misc/states.es6.js +++ b/core/misc/states.es6.js @@ -599,7 +599,6 @@ // element monitoring itself. if (e.trigger) { $(e.target) - .prop('disabled', e.value) .closest('.js-form-item, .js-form-submit, .js-form-wrapper') .toggleClass('form-disabled', e.value) .find('select, input, textarea') @@ -638,7 +637,10 @@ $document.on('state:checked', (e) => { if (e.trigger) { - $(e.target).prop('checked', e.value); + $(e.target) + .closest('.js-form-item, .js-form-wrapper') + .find('input') + .prop('checked', e.value); } }); diff --git a/core/misc/states.js b/core/misc/states.js index 4fd2052a43..59ef559e6f 100644 --- a/core/misc/states.js +++ b/core/misc/states.js @@ -314,7 +314,7 @@ var $document = $(document); $document.on('state:disabled', function (e) { if (e.trigger) { - $(e.target).prop('disabled', e.value).closest('.js-form-item, .js-form-submit, .js-form-wrapper').toggleClass('form-disabled', e.value).find('select, input, textarea').prop('disabled', e.value); + $(e.target).closest('.js-form-item, .js-form-submit, .js-form-wrapper').toggleClass('form-disabled', e.value).find('select, input, textarea').prop('disabled', e.value); } }); @@ -341,7 +341,7 @@ $document.on('state:checked', function (e) { if (e.trigger) { - $(e.target).prop('checked', e.value); + $(e.target).closest('.js-form-item, .js-form-wrapper').find('input').prop('checked', e.value); } });