diff -u b/core/modules/views/js/exposed-form-ajax.js b/core/modules/views/js/exposed-form-ajax.js --- b/core/modules/views/js/exposed-form-ajax.js +++ b/core/modules/views/js/exposed-form-ajax.js @@ -2,7 +2,9 @@ * @file * Handles Views' exposed form AJAX data submission. */ + (function ($) { + 'use strict'; /* * Gets Form build info from settings and adds it to ajax data. @@ -10,14 +12,16 @@ * @see views_exposed_form_ajax_enable(). */ Drupal.behaviors.ViewsExposedFormAjax = { - attach: function(context, settings) { - for (var ajaxObject in Drupal.ajax.instances) { - for(var name in drupalSettings.ViewsExposedFormInfo) { - if (Drupal.ajax.instances[ajaxObject].options && Drupal.ajax.instances[ajaxObject].options.data._triggering_element_name == name) { - jQuery.extend(Drupal.ajax.instances[ajaxObject].options.data, drupalSettings.ViewsExposedFormInfo[name]); + attach: function (context, settings) { + Drupal.ajax.instances.forEach(function (instance, key) { + for (var name in drupalSettings.ViewsExposedFormInfo) { + if (drupalSettings.ViewsExposedFormInfo.hasOwnProperty(name)) { + if (instance.options && instance.options.data._triggering_element_name === name) { + jQuery.extend(Drupal.ajax.instances[key].options.data, drupalSettings.ViewsExposedFormInfo[name]); + } } - } - } + }; + }); } }; diff -u b/core/modules/views/views.module b/core/modules/views/views.module --- b/core/modules/views/views.module +++ b/core/modules/views/views.module @@ -663,7 +663,7 @@ * * @return array */ -function views_exposed_form_ajax_enable(&$form, FormStateInterface $form_state) { +function views_exposed_form_ajax_enable($form, FormStateInterface $form_state) { // In order for Ajax to work, we need the form build info. Here we // check if #ajax has been added to any form elements, and if so, // pass this info as settings via Javascript, which get attached to