[Решено] Как закрыть toggle при открытии другого toggle?)

Тема в разделе "JavaScript", создана пользователем Andreyлф, 20 мар 2016.

Статус темы:
Закрыта.
  1. Andreyлф

    Andreyлф

    Регистрация:
    25 янв 2013
    Сообщения:
    144
    Симпатии:
    10
    Мы имеем
    Код:
        $(".option_box .option_name").click(function () {
            $(this).siblings(".collapsible").toggle();
            $(this).toggleClass("hided")
        });
    С такой разметкой
    Код:
        <div class="option_box">
            <div class="option_name"><?php echo $text_filer_special?></div>
            <div class="collapsible">
                <input type="checkbox" class="filtered" name="filer_special" id="filer_special"><label for="filer_special"><?php echo $text_show_filer_special?></label>
            </div>
        </div>
    ... и их много много
    
    Живая ссылка

    Как сделать так что бы при открытии 1-го toggle закрывался другой?
    С меня симпатии и печенки)
     
    Последнее редактирование: 20 мар 2016
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    ну, хотя бы так:
    Код:
    $('.option_name').on('click', function (e) {
        $('.collapsible').hide();
        $(this).siblings('.collapsible').toggle();
    });
     
    Andreyлф нравится это.
  3. Andreyлф

    Andreyлф

    Регистрация:
    25 янв 2013
    Сообщения:
    144
    Симпатии:
    10
    Отлично!!! Спасибо огромное!!! А можно еще сделать так что бы при клике по любому другому элементу или еще где-нибудь toggle'ы закрывались?
     
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    по аналогии:
    Код:
    $('.option_name').on('click', function (e) {
        e.stopPropagation();
        $('.collapsible').hide();
        $(this).siblings('.collapsible').toggle();
    })
    
    $(document).click( function(e) {
        $('.collapsible').hide();
    });
     
    Последнее редактирование: 20 мар 2016
  5. Andreyлф

    Andreyлф

    Регистрация:
    25 янв 2013
    Сообщения:
    144
    Симпатии:
    10
    Сейчас происходит следующее: когда toggle открыт, он не закрывается вторым кликом(
    и не закрывается при клике в другое место(

    Вставлял это

    Код:
    $('.option_name').on('click', function (e) {
        e.stopPropagation();
        $('.collapsible').hide();
        $(this).siblings('.collapsible').toggle();
    })
    
    $('.option_name').click(function (e) {
        $('.collapsed').hide();
    });
     
  6. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    потому что вы вставили не то, что я написал. а заменили второй document на .option_name
     
  7. Andreyлф

    Andreyлф

    Регистрация:
    25 янв 2013
    Сообщения:
    144
    Симпатии:
    10
    Напутал с сохранением Спасибо!
     
Статус темы:
Закрыта.