Выпадающее меню сворачивается в css

я использовал фрагмент кода из

http://bootsnipp.com/snippets/featured/advanced-dropdown-search

Я внес следующие изменения в код

 <div class="col-md-12">
            <form action="./" method="POST" autocomplete="on">
                <div class="input-group" id="adv-search">
                    <input type="text" class="form-control"
                        placeholder="Search for snippets" id="mainForm" name="searchBox" />
                    <div class="input-group-btn">
                        <div class="btn-group" role="group">
                            <div class="dropdown dropdown-lg">
                                <button type="button" class="btn btn-default dropdown-toggle"
                                    data-toggle="dropdown" aria-expanded="false">
                                    <span class="caret"></span>
                                </button>
                                <span class="dropdown-menu dropdown-menu-right" role="menu">
                                    <div class="form-horizontal" role="form">
                                        <div class="form-group">
                                            <label for="filter">Filter by</label> <select
                                                class="form-control" name="docType">
                                                <option value="0" selected>All Sources</option>
                                                <option value="1">Option 1</option>
                                                <option value="2">Option 2</option>

                                            </select>
                                        </div>
                                        <div class="form-group">
                                            <label for="contain">Author / Modifier</label> <input
                                                class="form-control" type="text" name="authorName" />
                                        </div>
                                        <div class="form-group">
                                            <label for="contain">Contains the words</label> <input
                                                class="form-control" type="text" name="words" />
                                        </div>
                                        <!-- <button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-search" aria-hidden="true"></span></button> -->
                                    </div>
                                </span>
                            </div>
                            <button type="submit" class="btn btn-primary">
                                <span class="glyphicon glyphicon-search" aria-hidden="true"></span>
                            </button>
                        </div>
                    </div>
                </div>
            </form>
        </div>

после смещения тега формы выше раскрывающееся меню сворачивается, просто щелкнув в любом месте раскрывающегося списка.

может кто-нибудь объяснить, почему?

Я попытался сделать много изменений, но ничего не получилось мне.

https://jsfiddle.net/tj2y5ptp/

1 ответов


Попробуйте удалить data-toggle="dropdown" и использование jquery .toggleClass('open'); и .removeClass('open'); до open/close в выпадающем меню (затем выпадающий nenu закроется, просто щелкнув снаружи (на теле) :

Открыть Меню:

$('.dropdown-lg .btn').on('click', function (event) {
    $(this).parent().toggleClass('open');
});

закрыть раскрывающийся список (при нажатии на тело):

$('body').on('click', function (e) {
    if (!$('.dropdown-lg').is(e.target) 
        && $('.dropdown-lg').has(e.target).length === 0 
        && $('.open').has(e.target).length === 0
    ) {
        $('.dropdown-lg').removeClass('open');
    }
});

посмотреть обновленный скрипку, надеюсь, это поможет вам, спасибо.