我的问题是我有2个模态块,当我单击.emailInbound复选框时,它会切换.in-serv-container打开,但是当我单击.accordion-heading以打开注释部分时,它会变成.in-serv-container collapse
可能是什么原因?


HTML:

    <label class="checkbox">
        <input class="emailInbound" type="checkbox" onclick="toggleInServ(this)">Использовать Email для регистрации обращений
    </label>
    <div id='in-serv-container'>
        <div><strong>Настройка входящей почты</strong></div>
        <div>
            <input class="emailOutserver" type="text" placeholder="Сервер входящей почты">
            <input class="emailOutserverPort" type="text" placeholder="Порт">
        </div>
        <div>
            <select class="emailOutProtocol half" style="width: 49%!important;">
                <option value='usual'>Обычный</option>
                <option value='ssl'>SSL</option>
            </select>
            <input class="emailInFolder half" type="text" placeholder="Папка входящей почты">
        </div>
        <div class="modal-body-container">
            <input type="text" placeholder="Опции">
        </div>
        <button class="btn btn-link">Проверить подключение</button>
        <hr>
    </div>
    <div class="accordion" id="comment-wrapper">
        <div class="accordion-heading" data-toggle='collapse' data-target='#emailComment' onclick='toggleChevron(this)'>
            <strong>Комментарий</strong> <i class='icon-chevron-right'></i>
        </div>
        <div id="emailComment" class="collapse" data-parent="#comment-wrapper">
            <textarea class="emailComment"></textarea>
        </div>
    </div>



JS:

function toggleInServ(box){
    var checked = $(box).prop('checked');
    if(checked){
        $('#in-serv-container').css('height', '170px');
    }else{
        $('#in-serv-container').css('height', '0px');
    }
}

function toggleChevron(o){

    var icon = $(o).children('[class*=icon]');

    if(icon.hasClass('icon-chevron-right')){
        icon.removeClass('icon-chevron-right');
        icon.addClass('icon-chevron-down');
    }else{
        icon.removeClass('icon-chevron-down');
        icon.addClass('icon-chevron-right');
    }
}

最佳答案

如果我处于正确的位置,那么您是否希望每个复选框都保持打开状态(如果选中此复选框)?无论发生什么情况,请也向我们提供您的CSS样式。如果您愿意给我们JSFiddle您的案件,那将是最好的。

只是改变

height


CSS的属性似乎是个坏主意。相反,您可以尝试使用

display: block;




display: none;


因此,在选择之前,它确实是一个隐藏字段。不是问题本身的答案,而只是一些注意事项。

关于javascript - bootstrap 崩溃,行为错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24902318/

10-09 04:33