diff -u b/js/facets-views-ajax.js b/js/facets-views-ajax.js --- b/js/facets-views-ajax.js +++ b/js/facets-views-ajax.js @@ -55,23 +55,29 @@ } // Update view on facet item click else { - $('[data-drupal-facet-id=' + facetId + ']').children('.facet-item').once().click(function (e) { - e.preventDefault(); - updateFacetsView($(this), current_dom_id); + $('[data-drupal-facet-id=' + facetId + ']').find('.facet-item').each(function (index, facet_item) { + $(facet_item).children('a').click(function (e) { + e.preventDefault(); + updateFacetsView($(this).attr('href'), current_dom_id); + }); }); + + $('[data-drupal-facet-id=' + facetId + ']').each(function (index, facet_item) { + if ($(facet_item).hasClass('item-list__dropdown')) { + $(facet_item).unbind( "change.facets" ); + $(facet_item).on('change.facets', function () { + updateFacetsView($(this).val(), current_dom_id); + }); + } + }); + } }); } }; // Helper function to update views output & Ajax facets. - var updateFacetsView = function(facetLink, current_dom_id) { - // Get href from facet link - var href = facetLink.attr('href'); - if (href == undefined) { - href = $(facetLink).find('a').attr('href'); - } - + var updateFacetsView = function(href, current_dom_id) { // Refresh view var views_parameters = Drupal.Views.parseQueryString(href); var views_arguments = Drupal.Views.parseViewArgs(href, 'search');