Есть три блока контента, и я хотел бы включить / отключить их с помощью data-*
"инструментов" Bootstrap. Элементы управления должны быть checkbox
es. Когда отображается блок контента, его checkbox
должно быть checked
.
Резюме
Проблема заключается в том, что внутренние ссылки checkbox
не работают должным образом (начинает изменять состояние только после второго щелчка) после добавления поведения Bootstrap к обертывающим тегам a
.
Код здесь .
длинная версия
Итак, прежде всего я создал блоки контента и элементы управления без функциональности (и дал им несколько стилей):
<div class="col-xs-12" id="select-panel">
<div class="col-lg-12" id="filter-bar">
<div>
<a href="#containerFoo">
<label class="btn btn-primary" id="filterFoo">
<input type="checkbox" checked autocomplete="off">
<span class="text-label">foo</span>
<span class="glyphicon glyphicon-question-sign"></span>
</label>
</a>
<a href="#containerBar">
<label class="btn btn-primary" id="filterBar">
<input type="checkbox" checked autocomplete="off">
<span class="text-label">bar</span>
<span class="glyphicon glyphicon-ok-sign"></span>
</label>
</a>
<a href="#containerBuz">
<label class="btn btn-primary" id="filterBuz">
<input type="checkbox" checked autocomplete="off">
<span class="text-label">buz</span>
<span class="glyphicon glyphicon-remove-sign"></span>
</label>
</a>
</div>
</div>
</div>
<div> </div>
<div class="panel panel-default in" id="containerFoo">foo</div>
<div class="panel panel-default in" id="containerBar">bar</div>
<div class="panel panel-default in" id="containerBuz">buz</div>
checkbox
ведут себя как ожидалось. Теперь необходимо добавить актуальную функциональность. Теги A
были расширены следующим образом:
...
<a href="#containerFoo" data-toggle="collapse" aria-expanded="true" aria-controls="containerFoo">
...
</a>
<a href="#containerBar" data-toggle="collapse" aria-expanded="true" aria-controls="containerBar">
...
</a>
<a href="#containerBuz" data-toggle="collapse" aria-expanded="true" aria-controls="containerBuz">
...
</a>
...
Теперь переключение работает. Но checkbox
всегда checked
. После этого я также расширил оболочку DIV
вокруг элемента управления checkbox
es:
<div class="btn-group" data-toggle="buttons">
Теперь checkbox
ведут себя все более странно. При первом нажатии checkbox
остается включенным (checked
). Со второго щелчка по тому же checkbox
поведение становится нормальным: состояние меняется при каждом щелчке.
Это ошибка или я что-то не так делаю?
Как заставить checkbox
работать с внутренними ссылками, если используется переключение Bootstrap?