Последние темы


tagManager2 + разметка по БЭМ

  • Эта запись удалена!
  • @andchir Нет, там прописан другой селектор, с этим все в порядке, да и работает со стандартным шаблоном tm2_filterTpl, а этот селектор выше находится:
    0_1522083463096_2aca007f-20b9-4b6d-a320-7b3a4b2cf29d-image.png
    0_1522083490303_eace3a09-4caf-4222-95c2-c73d7ee5c194-image.png
    Различие именно в самой разметке tm2_filterTpl - со стандартным работает, со своим, работает только на включение

  • Если дадите ссылку, посмотрю.

  • @andchir Прошу прощения, была ошибка у меня в скрипте, теперь чекбокс работает как нужно. За исключением одного момента. При обновлении страницы мои классы для активного чекбокса, которые проставляет jq, слетают, что и понятно. Но у вас, при стандартном шаблоне, активные чек боксы запоминаются. Вы не подскажете, как можно получить список активных чекбоксов, после обновления страницы? Что бы я смог снова пройтись по ним скриптом и расставить классы, которые отвечают за стиль активных чекбоксов? Пробую вот так, но не работает:

    $(document).ready(function(){
        $('.checkbox__control').each(function(){
    
            if($(this).prop("checked")){
                console.log($(this));
            }
    
        });
    });
    

    То есть при обновлении страницы, мне нужно сохранить класс родителю активного чекбокса
    0_1522146000440_f30682a0-16bf-4bd7-93e4-b313836ff180-image.png

  • Вы не подскажете, как можно получить список активных чекбоксов

    Ну если есть активные чекбоксы, берите эти чекбоксы и ставьте классы где нужно. Возможно, нужно использовать событие не $(document).ready, а $(window).load.

  • @andchir стилизация чекбокса, активного и неактивного происходит через родителя. То есть, я нажал на чекбокс, родитель получил класс .checkbox--checked и визуально стал активным. Когда я обновляю страницу, класс .checkbox--checked пропадает, он ведь нигде не запоминается и его нужно проставить заново, что бы визуально чекбокс был активным. Просто у вас, при стандартном шаблоне, при обновлении страницы все активные чекбокса остаться активными, то есть это где-то запоминается, так вот можно ли как то получать список тех чекбоксов, которые активны?
    Я отправлю ссылку в личное сообщение, что бы было понятно, что я имею ввиду

  • Вы хотя бы как-нибудь пытались получить список активных чекбоксов? Например так:

    $(':checkbox:checked', tmFilters.config.filters_cont).each(...
    
  • Участник @andchir написал в tagManager2 + разметка по БЭМ:

    $(window).load

    Получилось получить чекбоксы, в JQ новых версий события по другому нужно отслеживать, прошу прощения, вот так работает:

    $(window).on('load', function(){
    
        $('input[type=checkbox]').each(function(){
    
            if($(this).prop("checked")){
                console.log("1");
            }
    
        });
    });
    
  • @andchir спасибо за помощь и терпение.
    Вот так вроде бы полностью работает, возможно кому-то пригодится:

    $(window).on('load', function(){
    
        $('.checkbox__control').each(function(){
    
            if($(this).prop("checked")){
                $(this).closest(".checkbox").addClass('checkbox--checked');
            }
    
        });
    });
    
  • Для вывода цифры по каждому фильтру в своем теге использовал вот такую разметку:

     <div class="filter__row">
        <label class="checkbox checkbox--size-l">
            
            <span class="checkbox__box">
                <input type="checkbox" id="[[+name]]__[[+idx]]" name="[[+flt_name]]" value="[[+value]]" class="checkbox__control" />
            </span>
            
        <span class="checkbox__text" for="[[+name]]__[[+idx]]"  role="presentation">[[+value_name]]</span>
        <span class="checkbox__count"></span>
        </label>
        
    </div>
    
    

    Значение записывается в тэг с классом checkbox__count
    Немного переписал filter.js

    /**
         * updateMarkerCount
         *
         */
        updateMarkerCount: function(elem, count){
            
            // var elem_parent = elem.parent();
            var elem_parent = elem.closest(".checkbox");        
            
            if ( tmFilters.config['filters_type'] != 'only_block' ) {
    	    
                if ( elem.is('input:checked') ) {
                    
                    $('.checkbox__count',elem_parent).text("");
                    
                }else{                
    		
    		$('.checkbox__count',elem_parent).text(count);		
    		
                }
            }
            
            if (count == 0) {
                
                elem_parent.addClass('checkbox--disabled');
                if ( tmFilters.config['filters_type'] != 'only_block' ){
                    $('.checkbox__count',elem_parent).text("");
                }
                $('input:checkbox,select',elem_parent).prop('disabled','disabled');
                
            }else{
                
                elem_parent.removeClass('checkbox--disabled');
                $('input:checkbox,select',elem_parent).prop('disabled', false);
                
            }
            
        },
    
    

    Может кому-то будет полезно

 

Последние комментарии

  • Я не знаю как тебе объяснить, что твой продукт гавно. Что шопкипер, что catalogfil - полное кривое гавно

    Зачем ты мучаешь себя? Не пользуйся. Другие продукты тоже все "говно", или может говно у тебя в голове?

    Ты хоть сам тестировал свою хрень в подобной ситуации? Нормальный функционал и документацию ты сделать поленился

    Много я таких как ты встречал. У вас всегда кто-то другой виноват. До таких "умников" даже не доходит, что в продукте может отсутствовать требуемый им функционал. И это нормально. Ты хотел многофункциональный комбайн за 500 руб? Я подсказываю обходные пути, но для тебя это слишком сложно (это я про другие темы этого автора).

    видимо с той целью что бы выклянчить копеечку

    С таких как ты мне ничего не надо. Лучше просто забудь о существовании Шопкипера и CatalogFill.

    Давай отвечай

    Зачем мне это? Ни за один ответ я не получил от тебя даже "спасибо".

    или просто кинь ещё 1 бан, хоть власть почувствуешь)))

    Моему терпению можно только позавидовать. Ты заслужил бан уже очень давно.

    Читать далее
  • V

    @Andchir Я не знаю как тебе объяснить, что твой продукт гавно. Что шопкипер, что catalogfil - полное кривое гавно. Я тебе пытаюсь объяснить, что товар или добавляется дублями или изменяются параметры у товаров с таким же артикулом, ты же мне рассказываешь про кнопочки "Добавить" и "Обновить". Ты хоть сам тестировал свою хрень в подобной ситуации? Нормальный функционал и документацию ты сделать поленился, видимо с той целью что бы выклянчить копеечку. Все эти функции должны были быть описаны в документации. Есть демо сайт, есть галерея в нём, значит и импорт должен производиться под этот сайт и всё было бы понятно. Давай отвечай или просто кинь ещё 1 бан, хоть власть почувствуешь)))

    P.S: Весь мой вопрос можно было решить за 1 день, после первого поста.

    Читать далее
  • Ещё один момент, если вам нужно добавить товар, то нужно нужно переключатель "Тип импорта" ставить в положение "Добавить". Но делаете ли вы так - такой информации я тоже не увидел. Вытаскивать из вас информацию по кусочкам - слишком долго.

    Читать далее
  • Вы отправляетесь в бан на 2 дня. Каждый раз одно и то же. Мне не нужна информация сколько вы раз возвращали резервную копию. Но нужен полный конфиг, а не кусочки. При этом нормальная информация "делаю так - получаю так", а не "получаю так или так" (не известно при каких действиях).

    У меня изначально стоял параметр false, я пробую и так и сяк

    Не нужно пробовать "так и сяк", нужно делать так как написано и так как правильно по смыслу описания параметров. После этого писать на форуме, что "делаю как должно быть, но получается не так". Если вы что-то пробуете, что вообще не правильно по смыслу, то мне об этом писать не нужно.

    Читать далее