Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2017, 19:27   #1
sice
 
Аватар для sice
 
Регистрация: 20.06.2009
Сообщений: 5
Смущение Не работает фильтр на JS. Как исправить?

Доброго времени суток. Не работает фильтр товаров. Не могу понять почему. Библиотеки все подключены.

Есть фильтр такого рода:
Код HTML:
            <div class="col-md-4">
                <div> 
                    <div class="list-group-item type">
                                                <div class="checkbox">
                          <label><input type="checkbox" checked class="type1" value="">квартиры <span>(25)</span></label>
                        </div>
                                                 <div class="checkbox">
                          <label><input type="checkbox" checked class="type2"  value="">апартаменты <span>(35)</span></label>
                        </div>
                                                  <div class="checkbox">
                            <label><input type="checkbox" checked  class="loft" value="">лофт <span>(6)</span></label>
                        </div>
                    </div>
                    <div class="list-group-item otdelka">
                        <div class="checkbox" style=" ">
                          <label><input type="checkbox" checked class="no" value="">без отделки <span>(40)</span></label>
                        </div>
                        <div class="checkbox" style="">
                          <label><input type="checkbox" checked class="yes" value="">с отделкой <span>(14)</span></label>
                        </div>
                    </div>
 
                    <div class="list-group-item untype" style="height: 90px;">
                                                <div class="checkbox">
                          <label><input type="checkbox" class="untype2"  value="">только с пентхаусами <span>(32)</span></label>
                        </div>                       
                                                 <div class="checkbox">
                          <label><input type="checkbox" class="untype3"  value="">только с террасами <span>(28)</span></label>
                        </div>                     
                                                 <br>
                    </div>
                    <div class="list-group-item tab-content">
                        <div>
                            <b style=" position: relative;top: 2px; ">Цена</b> 
                            <div class="btn-group priceC" data-toggle="buttons">
                              <label class="btn btn-default active" data-toggle="tab" data-target="#obj_price" >
                                <input type="radio" name="options" id="option1" class="obj" autocomplete="off" checked>
                                за объект
                              </label>
                              <label class="btn btn-default cost1" data-toggle="tab" data-target="#m2" >
                                <input type="radio" name="options" id="option2" class="m2" autocomplete="off">
                                за м<sup>2</sup>
                              </label>
                            </div> 
                        </div>
                    </div>                   
                                                        <div class="checkbox sdcl"> 
                              <label><input type="checkbox" class="sdacha2017" value="2017" checked>2017                              <div class="vrt"></div> <span>(14)</span></label>
                            </div>
                                                        <div class="checkbox sdcl"> 
                              <label><input type="checkbox" class="sdacha2018" value="2018" checked>2018                              <div class="vrt"></div> <span>(14)</span></label>
                            </div>
                                                        <div class="checkbox sdcl"> 
                              <label><input type="checkbox" class="sdacha2019" value="2019" checked>2019                              <div class="vrt"></div> <span>(6)</span></label>
                            </div>
                                                    </div>
                    </div>
                </div>
                </div>
            </div>
Есть JavaScript, который это всё обрабатывает, но не пойму по какой причине он не работает.
При нажатии чекбокса "квартиры", остаётся один элемент (первый по счёту) ВТБ Арена Парк и всё на этом, больше ничего не происходит. Снимай, не снимай чекбокс, больше реакции никакой нет.
Код:
$(".sdacha-cal .all").click(function (event) {
    if (roll) {
        bool = $(this).prop("checked");
        if (bool === true) {
            $(".sdacha-cal").find(".sdcl").each(function () {
                if ($(this).find('input:checked').length == 0)
                    $(this).find('label').click();
            })
        }
        else {
            $(".sdacha-cal").find(".sdcl").each(function () {
                if ($(this).find('input:checked').length > 0)
                    $(this).find('label').click();
            })
        }
    }
    /*
    if(roll){
        $(".sdacha-cal").children(".sdcl").each(function( index ) {
            if( (val=$(this).children().children('input').prop( "checked" ))!=bool){
                $(this).children().children('input').click()

            }
        });
    }
    */
});
function suppose(json) {
    console.log('hhh');
    window.not_run = 1;
    innull()
    var destination = $(".main").offset().top;
    $('body').animate({scrollTop: destination}, 600);

    if (json['otdelka'] != 'max') {
        $(".otdelka ." + json['otdelka']).click()
    } else {
        $(".otdelka .yes, .otdelka .no, .otdelka .loft").click()
    }

}
function run() {
    if (!window.not_run) {
        Places = [];
        myCollection.removeAll()

        $(".list-group-item.oi").hide()
        window.i = 0

        var onl = $(".otdelka .no").prop("checked");
        var oyl = $(".otdelka .yes").prop("checked");
        var ot = oyl && onl;

        var stype = ($('.type .loft').prop("checked") ? 4 : 0) +
            ($('.type .type2').prop("checked") ? 2 : 0) +
            ($('.type .type1').prop("checked") ? 1 : 0);

        var loc = $('.raion-cal .btn-group .btn-default.active').data('target');
        var lp1 = $("#w1").val();
        var lp2 = $("#w2").val();
        var lm = $("#w3").val();
        var prType = $('.priceC .btn.active').data('target') == '#obj_price';

        $(".list-group-item.oi").each(function (index) {
            
            Bo = ot ? ot : oyl == $(this).data("otdelka");
           
            Bt = stype & $(this).data('supertype');

            rr = $(this).data("raion");
            Br = ($(".raion" + rr).prop("checked"))

            ll = $(this).data("location");
            Bl = ($(".location" + ll).prop("checked"))

            if (loc == 'location') {
                Br = 1;
            }
            else {
                Bl = 1;
            }

            if (prType) {
                alp = lp1.split(",");
                pfr = $(this).data("pricef");
                ptr = $(this).data("pricet");

            } else {
                alp = lp2.split(",");
                pfr = $(this).data("pricemf");
                ptr = $(this).data("pricemt");

            }
Помогите пожалуйста разобраться, в чём проблема.
sice вне форума Ответить с цитированием
Старый 14.11.2017, 00:00   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

посмотрите в отладчике - тыц
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.11.2017, 09:31   #3
olegK<<
Пользователь
 
Аватар для olegK<<
 
Регистрация: 05.11.2017
Сообщений: 59
По умолчанию

Код:
$(".sdacha-cal .all").click(function (event) {
    if (roll) {
А переменная откуда roll ? Проверяйте на наличие переменной
Код:
$(".sdacha-cal .all").click(function (event) {
console.log(roll+"Testim roll");
    if (roll) {
olegK<< вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает программа, как исправить? Паскаль Тетрадь Помощь студентам 9 31.05.2014 17:32
Не работает программа, как исправить? паскаль Тетрадь Помощь студентам 3 05.05.2014 15:41
Не работает функция click() в Opera, как исправить? Arassir JavaScript, Ajax 8 24.05.2012 16:34
исправить код .Чтение из файла, фильтр данных и запись в новый файл. edikesh Помощь студентам 0 17.12.2011 18:59
Конструкция case of работает некорректно! Как исправить? SkAndrew Общие вопросы Delphi 6 06.04.2008 00:21