Выполнять фильтр после каждого изменения поля

Обновлять товары каталога после каджого изменения пункта фильтра можно через параметры AJAX_MODE и INSTANT_RELOAD для компонента «catalog».

$APPLICATION->IncludeComponent(
    "bitrix:catalog",
    ".default",
    Array(
        // ...
        "AJAX_MODE" => "Y",
        "INSTANT_RELOAD" => "Y",
        // ...
    )

Работает, если используется стандартный объект JCSmartFilter().

Исходный код:

// bitrix/components/bitrix/catalog.smart.filter/template-name/script.js
if (result.INSTANT_RELOAD && result.COMPONENT_CONTAINER_ID) {
  url = BX.util.htmlspecialcharsback(result.FILTER_AJAX_URL);
  BX.ajax.insertToNode(url, result.COMPONENT_CONTAINER_ID);
}