База знаний
Войдите в личный кабинет для возможности задавать вопросы и отвечать на комментарии.
Баг-репорты

Не срабатывает добавление css класса "disabled sfilter-plugin__filter-feature-value_disabled"

Дима
5 марта 2019 15:51
+1

Вроде бы функционал скрытия фильтров в боковом меню есть. Но там работает только установка не активным input'а с параметром disabled:



Хотя в вашем плагине в файле /wa-apps/shop/plugins/seofilter/js/filter_frontend.js есть код:


    var updateFilterFormValueAvailability = function ($form, feature_value_ids) {
        if (!$form.length) {
            return;
        }

        $form
            .find('input').prop('disabled', false).trigger('refresh')
            .closest('label').removeClass("disabled sfilter-plugin__filter-feature-value_disabled");

        if (!feature_value_ids) {
            return;
        }

        var feature_codes = Object.keys(feature_value_ids);

        feature_codes.forEach(function (feature_code) {
            if (!feature_value_ids.hasOwnProperty(feature_code) || feature_value_ids[feature_code] === 'all')
            {
                return;
            }

            var $inputs = $form.find('[name="' + feature_code + '"]').not(':checked');
            if (!$inputs.length)
            {
                $inputs = $form.find('[name="' + feature_code + '[]"]').not(':checked');
            }

            $inputs.each(function (index, input) {
                var $input = $(input);
                var value = $input.val();
                if (value && feature_value_ids[feature_code].indexOf(value) === -1)
                {
                    $input
                        .prop('disabled', true)
                        .trigger('refresh')
                        .closest('label').addClass("disabled sfilter-plugin__filter-feature-value_disabled");
                }
            });


        });
    };

- в котором через addClass('disabled sfilter-plugin__filter-feature-value_disabled') и removeClass('disabled sfilter-plugin__filter-feature-value_disabled') для label должны добавляться и удаляться css классы "disabled sfilter-plugin__filter-feature-value_disabled"

Но этого не происходит.

Хотел задать этим классам "display:none" для скрытия не соответствующих характеристик из блока Фильтры.

На примере 1-го скриншота - там при выборе модели авто Audi A3 - другие марки авто должны быть скрыты, а не просто затемнены.

Можно-ли как-то вручную этот кусок кода изменить - чтобы при "disabled input" - добавить для label css стиль "display:nine;"?


На вашем сайте http://megashop2.bodysite.ru/category/kompyutery/m... - у вас даже не затемняются параметры. Хотя может в настройках не включено скрытие или шаблон так настроен.

0 комментариев
Добавить комментарий
Чтобы добавить комментарий, войдите в личный кабинет