Using Search & Filter Pro with a grid of items that have equal heights set may loose their equal heights after a S&F filter on the same page Ajax refresh.

You can pass in some jQuey to Search & Filter Pro callback sf:ajaxfinish
(function($){
$(function() { // Document Ready
// detects the end of an ajax request being made
$(document).on("sf:ajaxfinish", ".searchandfilter", function(){
gridLayoutMatchHeight();
});
});
// Functions
function gridLayoutMatchHeight() {
// Select and loop the container element of the elements you want to equalise
$('.fl-post-grid').each(function(){
// Cache the highest
var highestBox = 0;
// Select and loop the elements you want to equalise
$('.fl-post-grid-post', this).each(function(){
// If this box is higher than the cached highest then store it
if($(this).height() > highestBox) {
highestBox = $(this).height();
}
});
// Set the height of all those children to whichever was highest
$('.fl-post-grid-post',this).height(highestBox);
});
}
})(jQuery);
So enqueue this Javascript where you need to.
Change the selector to your grid item in the marked place above, the example uses Beaver Builder posts module column grid .fl-post-grid-post
On Ajax refresh the columns will be equal heights again










1 comment
Dera Mclenny
I also add “.fl-post-grid-post” for CSS style so i looks web 3.0 style now. Thanks for the post.