Выпадающее меню сворачивается в 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>
после смещения тега формы выше раскрывающееся меню сворачивается, просто щелкнув в любом месте раскрывающегося списка.
может кто-нибудь объяснить, почему?
Я попытался сделать много изменений, но ничего не получилось мне.
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');
}
});
посмотреть обновленный скрипку, надеюсь, это поможет вам, спасибо.